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