您好,登錄后才能下訂單哦!
1.安全記錄
修改php.ini中的open_basedir,防止越目錄訪問文件。
如果php作為apache模塊時,apache的權(quán)限一定不能為root。
如果php作為apache模塊時,應(yīng)當(dāng)使用apache驗證/LDAP/.htaccess等來設(shè)計自己的訪問模型,并把這些代碼作為php腳本的一部分。
php不能有root權(quán)限,否則將有可能有權(quán)限刪除和修改系統(tǒng)中的任何文件。
任何用戶提交的數(shù)據(jù)都必須經(jīng)過檢查和過濾。(特別對于文件的操作,必須要考慮到各種URL情況)
必須要考慮\0在文件路徑中的作用。(C語言如果讀到\0會停止繼續(xù)讀?。?/p>
SQL語句中的--是忽略后面句子的意思。
SQL中能確定變量的類型的,一定要強(qiáng)制轉(zhuǎn)換類型,而不要讓它存在不可預(yù)計的情況。(如age=’{$age}’,需要將$age強(qiáng)制int 或float)
必須時刻注意SQL語句中變量可能被變形的情況。
操作數(shù)據(jù)庫時可使用mysql_escape_string/sql_escape_string/addslashes/str_replace把敏感字符轉(zhuǎn)義。
記錄SQL查詢?nèi)罩居糜跈z查問題是個好辦法。
合理運(yùn)用PDO參數(shù)化進(jìn)行SQL查詢是個較好的辦法。
-----(以下摘自PHP手冊)
如果程序等待輸入一個數(shù)字,可以考慮使用 is_numeric() 來檢查,或者直接使用 settype() 來轉(zhuǎn)換它的類型,也可以用 sprintf() 把它格式化為數(shù)字。
2.錯誤報告
常用的可行性辦法為測試開發(fā)時打開error_reporting 為E_ALL,正式上線改為0 并且關(guān)閉display_error 同時打開error_log記錄錯誤日志。
雖然默認(rèn)將register global、magic_quotes關(guān)閉但也應(yīng)當(dāng)檢查一下是否確定為關(guān)閉。
------(以下摘自PHP手冊,在用戶提交表單時,必須聯(lián)想到)
3.隱藏PHP
在 php.ini 文件里設(shè)置 expose_php = off ,可以減少他們能獲得的有用信息。
另一個策略就是讓 web 服務(wù)器用 PHP 解析不同擴(kuò)展名。無論是通過 .htaccess 文件還是 Apache 的配置文件,都可以設(shè)置能誤導(dǎo)***者的文件擴(kuò)展名:
# 使PHP看上去像其它的編程語言 AddType application/x-httpd-php .asp .py .pl
4.保持更新
時常更新PHP版本啊哈哈。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。