轉帖|其它|編輯:郝浩|2012-08-02 22:04:48.000|閱讀 152 次
概述:PHP(Hypertext Preprocessor)一種 HTML 內嵌式的語言,多年以來以其穩定且價格的方面的優勢受到廣大開發人員的親睞,但是就像廣大的基于web的平臺一樣,php也會受到外部的攻擊,所以才去必要的安全措施是比不可少的一步。因此開發人員,數據庫架構師和系統管理員在部署PHP應用程序到服務器之前都應該采取預防措施,這些措施也許不需要長篇的代碼,或者是大幅度的調整應用程序即可完成對php的安全設置。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
PHP(Hypertext Preprocessor)一種 HTML 內嵌式的語言,多年以來以其穩定且價格的方面的優勢受到廣大開發人員的親睞,但是就像廣大的基于web的平臺一樣,php也會受到外部的攻擊,所以才去必要的安全措施是比不可少的一步。因此開發人員,數據庫架構師和系統管理員在部署PHP應用程序到服務器之前都應該采取預防措施,這些措施也許不需要長篇的代碼,或者是大幅度的調整應用程序即可完成對php的安全設置。
接下來,將為大家呈現五大PHP安全措施:
1:安裝腳本管理
在一般情況下,如果開發人員安裝了一套第三方應用程序的PHP腳本,主要用于在安裝應用程序的工作組件,提供一個接入點,多數的情況下,軟件包會建議在安裝王之后刪除該腳本,但是如果想保存的話,可建立一個.htaccess文件用來控制管理訪問目錄。任何未經授權的用戶,注意輸入的用戶名和密碼,密碼必須匹配指定的“passwords”文件中的密碼。
例如: AuthType Basic
AuthName “Administrators Only”
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
2:頭文件
多數情況下,開發人員可以將分布在應用程序的幾個腳本包含進一個腳本里。這些腳本將包含一個“include”指令,集成單個文件到原始頁面的代碼里。當“include”文件包含敏感信息,包括用戶名、密碼和數據庫訪問密鑰時,該文件的擴展名應該命名成“.php ",而不是典型的“.inc”擴展。“.php”擴展確保php引擎將處理該文件,并防止任何未經授權的訪問。
3: SHA
如果用戶最終想要創建自己的用戶名和密碼,那么站點管理員通常會對表單提交的密碼加密,并保存在數據庫中。很多開發人員使用SHA-1(安全散列算法)函數來創建一個160位的字符串,而不再是用過去的MD5來加密。
4: 自動全局變量
php.ini文件中包含的設置通常稱為“register_globals”。P服務器會根據register_globals的設置,將會為服務器變量和查詢字符串自動創建全局變量。在安裝第三方的軟件包時,比如內容管理軟件,像Joomla和Drupal,安裝腳本將引導用戶把register_globals設置為“關閉”。將設置改變為“關閉”可以確保未經授權的用戶無法通過猜測變量名稱及驗證密碼來訪問數據。
5: 初始化變量和值
由于時間的限制或缺乏經驗,導致許多開發人員都落入了實例化變量不賦值的陷阱。用戶登錄程序開始前就有了身份驗證過程中的變量值,之所以做這個步驟,主要是為了防止用戶繞過驗證程序或訪問站點中某些他們沒有權限的區域。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載