日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php防止注入漏洞,php防止sql注入漏洞代码

發布時間:2025/3/20 php 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php防止注入漏洞,php防止sql注入漏洞代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注入漏洞代碼和分析

先上代碼

<?php function customError($errno, $errstr, $errfile, $errline) { echo "Error number: [$errno],error on line $errline in $errfile
"; die();

} set_error_handler("customError",E_ERROR); $getfilter="'|(and|or)\\b.+?(>|||

{ $StrFiltValue=implode($StrFiltValue);

} if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1&&!isset($_REQUEST['securityToken']))

{

slog("
操作IP: ".$_SERVER["REMOTE_ADDR"]."
操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."
操作頁面:".$_SERVER["PHP_SELF"]."
提交方式: ".$_SERVER["REQUEST_METHOD"]."
提交參數: ".$StrFiltKey."
提交數據: ".$StrFiltValue); print "result notice:Illegal operation!"; exit();

}

} foreach($_GET as $key=>$value)

{

StopAttack($key,$value,$getfilter);

} foreach($_POST as $key=>$value)

{

StopAttack($key,$value,$postfilter);

} foreach($_COOKIE as $key=>$value)

{

StopAttack($key,$value,$cookiefilter);

} function slog($logs) { $toppath="log.htm"; $Ts=fopen($toppath,"a+"); fputs($Ts,$logs."\r\n"); fclose($Ts);

} ?>

sql

分析

如果使用這個函數的話,這個函數會繞開PHP的標準出錯處理,所以說得自己定義報錯處理程序(die())。

其次,如果代碼執行前就發生了錯誤,那個時候用戶自定義的程序還沒有執行,所以就不會用到用戶自己寫的報錯處理程序。

那么,?PHP里有一套錯誤處理機制,可以使用?set_error_handler()?接管PHP錯誤處理,也可以使用?trigger_error()?函數主動拋出一個錯誤。

set_error_handler()?函數設置用戶自定義的錯誤處理函數。函數用于創建運行期間的用戶自己的錯誤處理方法。它需要先創建一個錯誤處理函數,然后設置錯誤級別。

關于的用法:

1 function customError($errno, $errstr, $errfile, $errline) 2 3 { 4 5 echo "錯誤代碼: [${errno}] ${errstr}\r\n"; 6 7 echo " 錯誤所在的代碼行: {$errline} 文件{$errfile}\r\n"; 8 9 echo " PHP版本 ",PHP_VERSION, "(" , PHP_OS, ")\r\n"; 10 11 // die(); 12 13 } 14 15 set_error_handler("customError",E_ALL| E_STRICT);

總結

以上是生活随笔為你收集整理的php防止注入漏洞,php防止sql注入漏洞代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。