thinkphpcookie加密
後台登陸密碼加密讓敏驗證設置:
相關函數核攜:
控制器方坦氏枝法:
② thinkphp資料庫配置信息加密怎麼處理
今天有一個朋友問我thinkphp的這個問題,剛好網路搜索到你這個問題。已經解決。就幫你解答一下這個問題。
首先我嘗試在入口文件封裝一個加密函數,我用php des 加密,然後在配置文件config.php調用。然後在控制器裡面使用,列印配置文件:mp(C());//輸出所有的配置文件信息, 雖然能看到正確的數據用戶名和密碼,但是會報錯。失敗告終。
我說一下我的解決方法。很簡單。
1:把配置文件裡面的用戶名,密碼,資料庫名瞎寫一寫,別人看到你的代碼的配置文件看到的就是錯誤的資料庫名和密碼了。比如:
'DB_NAME' => 'SB', // 資料庫名
'DB_USER' => 'ni_da_ye', // 用戶名
'DB_PWD' => 'da_da_bi', // 密碼
在每個控制器文件裡面。加入一段代碼。
比如你的IndexController.class.php文件。加下面的代碼。
/* 初始化方法*/
public function __construct(){
parent::__construct();
C("DB_NAME",decrypt('712349721937491237'));//資料庫名,
C('DB_USER',decrypt('712349721937491237'));//用戶名
C('DB_PWD',decrypt('712349721937491237'));//密碼
}
看清楚了嗎?
decrypt()這個函數就是我封裝的一個加密函數,親自測試沒有錯誤。可能會犧牲一些性能。但是保證了用戶名,密碼,資料庫名沒有泄露。甚至你都可以把資料庫連接地址也加密一下。希望能幫到你。
PHP加密函數可以考慮用des,aes這些可逆加密。別用什麼md4,md5.
③ thinkphp MD5加密問題
AUTH_CODE這個參數是自定義的,每個網站的參數都不一樣,有些網站為了安全,這個值還是隨機數,這樣的話,就打打加強了開源程序的安全性。encrypt這個函數在這里就是讀取配置文件中的隨機數和MD5加密之後的文件再做個二次加密,所以就很安全咯
是否可以解決您的問題?
④ thinkphp3.2 常量配置在哪
慣例配置
應用設定
'APP_USE_NAMESPACE'=>true,//應用類庫是否使用命名空間3.2.1新增
'APP_SUB_DOMAIN_DEPLOY'=>false,//是否開啟子域名部署
'APP_SUB_DOMAIN_RULES'=>array(),//子域名部署規則
'APP_DOMAIN_SUFFIX'=>'',//域名後綴如果是com.cnnet.cn之類的後綴必須設置
'ACTION_SUFFIX'=>'',//操作方法後綴
'MULTI_MODULE'=>true,//是否允許多模塊如果為false則必須設置DEFAULT_MODULE
'MODULE_DENY_LIST'=>array('Common','Runtime'),//禁止訪問的模塊列表
'MODULE_ALLOW_LIST'=>array(),//允許訪問的模塊列表
'CONTROLLER_LEVEL'=>1,
'APP_AUTOLOAD_LAYER'=>'Controller,Model',//自動載入的應用類庫層(針對非命名空間定義類庫)3.2.1新增
'APP_AUTOLOAD_PATH'=>'',//自動載入的路徑(針對非命名空間定義類庫)3.2.1新增
默認設定
'DEFAULT_M_LAYER'=>'Model',//默認的模型層名稱
'DEFAULT_C_LAYER'=>'Controller',//默認的控制器層名稱
'DEFAULT_V_LAYER'=>'View',//默認的視圖層名稱
'DEFAULT_LANG'=>'zh-cn',//默認語言
'DEFAULT_THEME'=>'',//默認模板主題名稱
'DEFAULT_MODULE'=>'Home',//默認模塊
'DEFAULT_CONTROLLER'=>'Index',//默認控制器名稱
'DEFAULT_ACTION'=>'index',//默認操作名稱
'DEFAULT_CHARSET'=>'utf-8',//默認輸出編碼
'DEFAULT_TIMEZONE'=>'PRC',//默認時區
'DEFAULT_AJAX_RETURN'=>'JSON',//默認AJAX數據返回格式,可選JSONXML...
'DEFAULT_JSONP_HANDLER'=>'jsonpReturn',//默認JSONP格式返回的處理方法
'DEFAULT_FILTER'=>'htmlspecialchars',//默認參數過濾方法用於I函數...
Cookie設置
'COOKIE_EXPIRE'=>0,//Cookie有效期
'COOKIE_DOMAIN'=>'',//Cookie有效域名
'COOKIE_PATH'=>'/',//Cookie路徑
'COOKIE_PREFIX'=>'',//Cookie前綴避免沖突
'COOKIE_HTTPONLY'=>'',//Cookie的httponly屬性3.2.2新增
資料庫設置
'DB_TYPE'=>'',//資料庫類型
'DB_HOST'=>'',//伺服器地址
'DB_NAME'=>'',//資料庫名
'DB_USER'=>'',//用戶名
'DB_PWD'=>'',//密碼
'DB_PORT'=>'',//埠
'DB_PREFIX'=>'',//資料庫表前綴
'DB_FIELDTYPE_CHECK'=>false,//是否進行欄位類型檢查3.2.3版本廢棄
'DB_FIELDS_CACHE'=>true,//啟用欄位緩存
'DB_CHARSET'=>'utf8',//資料庫編碼默認採用utf8
'DB_DEPLOY_TYPE'=>0,//資料庫部署方式:0集中式(單一伺服器),1分布式(主從伺服器)
'DB_RW_SEPARATE'=>false,//資料庫讀寫是否分離主從式有效
'DB_MASTER_NUM'=>1,//讀寫分離後主伺服器數量
'DB_SLAVE_NO'=>'',//指定從伺服器序號
'DB_SQL_BUILD_CACHE'=>false,//資料庫查詢的SQL創建緩存3.2.3版本廢棄
'DB_SQL_BUILD_QUEUE'=>'file',//SQL緩存隊列的緩存方式支持filexcache和apc3.2.3版本廢棄
'DB_SQL_BUILD_LENGTH'=>20,//SQL緩存的隊列長度3.2.3版本廢棄
'DB_SQL_LOG'=>false,//SQL執行日誌記錄3.2.3版本廢棄
'DB_BIND_PARAM'=>false,//資料庫寫入數據自動參數綁定
'DB_DEBUG'=>false,//資料庫調試模式3.2.3新增
'DB_LITE'=>false,//資料庫Lite模式3.2.3新增
數據緩存設置
'DATA_CACHE_TIME'=>0,//數據緩存有效期0表示永久緩存
'DATA_CACHE_COMPRESS'=>false,//數據緩存是否壓縮緩存
'DATA_CACHE_CHECK'=>false,//數據緩存是否校驗緩存
'DATA_CACHE_PREFIX'=>'',//緩存前綴
'DATA_CACHE_TYPE'=>'File',//數據緩存類型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator
'DATA_CACHE_PATH'=>TEMP_PATH,//緩存路徑設置(僅對File方式緩存有效)
'DATA_CACHE_SUBDIR'=>false,//使用子目錄緩存(自動根據緩存標識的哈希創建子目錄)
'DATA_PATH_LEVEL'=>1,//子目錄緩存級別
錯誤設置
'ERROR_MESSAGE'=>'頁面錯誤!請稍後再試~',//錯誤顯示信息,非調試模式有效
'ERROR_PAGE'=>'',//錯誤定向頁面
'SHOW_ERROR_MSG'=>false,//顯示錯誤信息
'TRACE_MAX_RECORD'=>100,//每個級別的錯誤信息最大記錄數
日誌設置
'LOG_RECORD'=>false,//默認不記錄日誌
'LOG_TYPE'=>'File',//日誌記錄類型默認為文件方式
'LOG_LEVEL'=>'EMERG,ALERT,CRIT,ERR',//允許記錄的日誌級別
'LOG_EXCEPTION_RECORD'=>false,//是否記錄異常信息日誌
SESSION設置
'SESSION_AUTO_START'=>true,//是否自動開啟Session
'SESSION_OPTIONS'=>array(),//session配置數組支持typenameidpathexpiredomain等參數
'SESSION_TYPE'=>'',//sessionhander類型默認無需設置除非擴展了sessionhander驅動
'SESSION_PREFIX'=>'',//session前綴
模板引擎設置
'TMPL_CONTENT_TYPE'=>'text/html',//默認模板輸出類型
'TMPL_ACTION_ERROR'=>THINK_PATH.'Tpl/dispatch_jump.tpl',//默認錯誤跳轉對應的模板文件
'TMPL_ACTION_SUCCESS'=>THINK_PATH.'Tpl/dispatch_jump.tpl',//默認成功跳轉對應的模板文件
'TMPL_EXCEPTION_FILE'=>THINK_PATH.'Tpl/think_exception.tpl',//異常頁面的模板文件
'TMPL_DETECT_THEME'=>false,//自動偵測模板主題
'TMPL_TEMPLATE_SUFFIX'=>'.html',//默認模板文件後綴
'TMPL_FILE_DEPR'=>'/',//模板文件CONTROLLER_NAME與ACTION_NAME之間的分割符
'TMPL_ENGINE_TYPE'=>'Think',//默認模板引擎以下設置僅對使用Think模板引擎有效
'TMPL_CACHFILE_SUFFIX'=>'.php',//默認模板緩存後綴
'TMPL_DENY_FUNC_LIST'=>'echo,exit',//模板引擎禁用函數
'TMPL_DENY_PHP'=>false,//默認模板引擎是否禁用PHP原生代碼
'TMPL_L_DELIM'=>'{',//模板引擎普通標簽開始標記
'TMPL_R_DELIM'=>'}',//模板引擎普通標簽結束標記
'TMPL_VAR_IDENTIFY'=>'array',//模板變數識別。留空自動判斷,參數為'obj'則表示對象
'TMPL_STRIP_SPACE'=>true,//是否去除模板文件裡面的html空格與換行
'TMPL_CACHE_ON'=>true,//是否開啟模板編譯緩存,設為false則每次都會重新編譯
'TMPL_CACHE_PREFIX'=>'',//模板緩存前綴標識,可以動態改變
'TMPL_CACHE_TIME'=>0,//模板緩存有效期0為永久,(以數字為值,單位:秒)
'TMPL_LAYOUT_ITEM'=>'{__CONTENT__}',//布局模板的內容替換標識
'LAYOUT_ON'=>false,//是否啟用布局
'LAYOUT_NAME'=>'layout',//當前布局名稱默認為layout
URL設置
'URL_CASE_INSENSITIVE'=>true,//默認false表示URL區分大小寫true則表示不區分大小寫
'URL_MODEL'=>1,//URL訪問模式,可選參數0、1、2、3,代表以下四種模式:
//0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)默認為PATHINFO模式
'URL_PATHINFO_DEPR'=>'/',//PATHINFO模式下,各參數之間的分割符號
'URL_PATHINFO_FETCH'=>'ORIG_PATH_INFO,REDIRECT_PATH_INFO,REDIRECT_URL',//用於兼容判斷PATH_INFO參數的SERVER替代變數列表
'URL_REQUEST_URI'=>'REQUEST_URI',//獲取當前頁面地址的系統變數默認為REQUEST_URI
'URL_HTML_SUFFIX'=>'html',//URL偽靜態後綴設置
'URL_DENY_SUFFIX'=>'ico|png|gif|jpg',//URL禁止訪問的後綴設置
'URL_PARAMS_BIND'=>true,//URL變數綁定到Action方法參數
'URL_PARAMS_BIND_TYPE'=>0,//URL變數綁定的類型0按變數名綁定1按變數順序綁定
'URL_404_REDIRECT'=>'',//404跳轉頁面部署模式有效
'URL_ROUTER_ON'=>false,//是否開啟URL路由
'URL_ROUTE_RULES'=>array(),//默認路由規則針對模塊
'URL_MAP_RULES'=>array(),//URL映射定義規則
系統變數名稱設置
'VAR_MODULE'=>'m',//默認模塊獲取變數
'VAR_CONTROLLER'=>'c',//默認控制器獲取變數
'VAR_ACTION'=>'a',//默認操作獲取變數
'VAR_AJAX_SUBMIT'=>'ajax',//默認的AJAX提交變數
'VAR_JSONP_HANDLER'=>'callback',
'VAR_PATHINFO'=>'s',//兼容模式PATHINFO獲取變數例如?s=/mole/action/id/1後面的參數取決於URL_PATHINFO_DEPR
'VAR_TEMPLATE'=>'t',//默認模板切換變數
'VAR_ADDON'=>'addon',//默認的插件控制器命名空間變數3.2.2新增
其他設置
'HTTP_CACHE_CONTROL'=>'private',//網頁緩存控制
'CHECK_APP_DIR'=>true,//是否檢查應用目錄是否創建
'FILE_UPLOAD_TYPE'=>'Local',//文件上傳方式
'DATA_CRYPT_TYPE'=>'Think',//數據加密方式