PHP網站中整體防注入方法
我們主要是從兩點出發,因為我們的獲取的變數一般都是通過GET或者POST方式提交過來的,那麼我們只要對GET和POST過來的變數進行過濾,那麼就能夠達到防止注入的效果。而且我們的PHP真是非常好,已經內建了$_GET和$_POST兩個陣列來儲存所有變數,我們要做的工作就是過濾每個變數就可以了。
下面看具體的程式碼:
/*Author: heiyeluren*/
/* 過濾所有GET過來變數 */
foreach ($_GET as $get_key=>$get_var)
{
if (is_numeric($get_var))
if (is_numeric($get_var)) {
$get[strtolower($get_key)] = get_int($get_var);
} else {
$get[strtolower($get_key)] = get_str($get_var);
}
}
/* 過濾所有POST過來的變數 */
foreach ($_POST as $post_key=>$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)] = get_int($post_var);
} else {
$post[strtolower($post_key)] = get_str($post_var);
}
}
/* 過濾函式 */
//整型過濾函式
function get_int($number)
{
return intval($number);
}
//字串型過濾函式
function get_str($string)
{
if (!get_magic_quotes_gpc()) {
return addslashes($string);
}
return $string;
}
那麼我們把以上程式碼放到一個公共的檔案裡,比如security.inc.php裡面,每個檔案裡都include一下這個檔案,那麼就能夠給任何一個程式進行提交的所有變數進行過濾了,就達到了我們一勞永逸的效果。
另外,還有一些其他的過濾方法,比如採用我以前使用的關鍵字過濾的方法:http://dev.csdn.net/article/71/71475.shtm
還可以參考三尺寒冰寫的方法:http://www.fanghei.com/html/2005-06/20050607114008.htm
方法是不同的,但是核心就是為了我們的程式碼更加安全。
相關文章
- PHP SQL防注入PHPSQL
- PHP網站常見安全漏洞及防禦方法PHP網站
- php過濾提交資訊防注入PHP
- 網站怎樣利用整體性防護策略維護資料安全?網站
- 網站被sql注入的修復方法網站SQL
- PHP安全、Sql防注入安全彙總PHPSQL
- 滲透測試網站sql注入攻擊與防護網站SQL
- 框架網站漏洞修復防護方法框架網站
- .Net防sql注入的方法總結SQL
- MySQL 及 SQL 注入與防範方法MySql
- wget下載整個網站的方法wget網站
- 幾種通用防注入程式繞過方法
- mysql防注入MySql
- SQL防注入SQL
- PHP 防抖(防重複提交)有哪些實現方法,具體程式碼PHP
- 4、幾種通用防注入程式繞過方法
- php注入PHP
- 網站防黑客入侵的主機系統安全配置方法網站黑客
- 網站防篡改的方法有哪些?這些技巧不能忘!網站
- 網站防盜鏈專家網站
- 網站最近攻擊防禦心得,個人網站搭建心得網站
- 檢測php網站是否已經被攻破的方法PHP網站
- PHP與WAP網站!PHP網站
- 網站方法網站
- 網站建設中WEB框架搭建方法網站Web框架
- 爬蟲如何防網站封IP?防封有效措施爬蟲網站
- 網站安全有哪些防護措施?網站
- 如何防範釣魚網站詐騙?網站
- 網站被攻擊如何防禦網站
- 網站伺服器如何防入侵網站伺服器
- [Asp.Net Core] 網站中的XSS跨站指令碼攻擊和防範ASP.NET網站指令碼
- 理解php物件注入PHP物件
- PHP注入基礎PHP
- php注入專題PHP
- 數盾科技加入,攜手龍蜥社群提升網路安全整體防護能力
- 如何預防駭客、病毒攻擊網站?網站
- DEDE網站防掛馬 安全設定網站
- 防範ASP網站漏洞及黑客入侵網站黑客