小灰博客--小灰IT技术博客 | sky00.com

360大牛提供的PHP防注入代码,你敢用吗?

<?php
//Code By Safe3
function customError($errno, $errstr, $errfile, $errline)
{
echo “<b>Error number:</b> [$errno],error on line $errline in $errfile<br />” ;
die();
}
set_error_handler(“customError”,E_ERROR);
$getfilter=”‘|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?Select|Update.+?SET|Insert\\s+INTO.+?VALUES|(Select|Delete).+?FROM|(Create|Alter|Drop|TRUNCATE)\\s+(TABLE|DATABASE)” ;
$postfilter=”\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?Select|Update.+?SET|Insert\\s+INTO.+?VALUES|(Select|Delete).+?FROM|(Create|Alter|Drop|TRUNCATE)\\s+(TABLE|DATABASE)” ;
$cookiefilter=”\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?Select|Update.+?SET|Insert\\s+INTO.+?VALUES|(Select|Delete).+?FROM|(Create|Alter|Drop|TRUNCATE)\\s+(TABLE|DATABASE)” ;
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){

if(is_array($StrFiltValue))
{
$StrFiltValue=implode($StrFiltValue);
}
if (preg_match(“/”.$ArrFiltReq.”/is”,$StrFiltValue)==1){
//slog(“<br><br> 操作IP: “.$_SERVER[“REMOTE_ADDR”].”<br>操作时间: “.strftime(“%Y-%m-%d %H:%M:%S”).”<br>操作页面:”.$_SERVER[“PHP_SELF”].”<br>提交方式: “.$_SERVER[“REQUEST_METHOD”].”<br>提交参数: “.$StrFiltKey.”<br>提交数据: “.$StrFiltValue);
print “360websec notice:Illegal operation!” ;
exit();
}
}
//$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
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);
}
if (file_exists(‘update360.php’)) {
echo “请重命名文件update360.php,防止黑客利用<br/>”;
die();
}
function slog($logs)
{
$toppath=$_SERVER[“DOCUMENT_ROOT”].”/log.htm”;
$Ts=fopen($toppath,”a+”);
fputs($Ts,$logs.”\r\n”);
fclose($Ts);
}


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:

3 条评论

  1. 爱T-blog说道:

    😛 ,学习了,欢迎交换链接!

  2. 阿华说道:

    不管你敢不敢用、反正我是用了 :mrgreen:



发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分类

最新评论

  • + 1.674227 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=9e710a17c6f1893b8975843ad65a53ec&:5q176p
  • Ticket- Process 1,851260 BTC. Receive >> https://graph.org/Official-donates-from-Binance-04-01?hs=81d107938621831ce06bfc98e59470ae&:xtjbtk
  • + 1.419261 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=558cdf18520cfb0ab9368563ad878fe3&:t1ixi5
  • + 1.200600 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=20bcd57ec809274e19061c909e168662&:2ixvv9
  • + 1.681136 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=48af46897a78ce23e02d3d6d91453c82&:xg3n0k
  • Message: Operation 1,579770 bitcoin. Withdraw => https://graph.org/Official-donates-from-Binance-04-01?hs=8b618b6f3e2558ea545b01f25c66ea45&:f5w4y0
  • Reminder- TRANSFER 1.299580 BTC. Get => https://graph.org/Official-donates-from-Binance-04-01?hs=a0af85c70258e2d35864223f8bf1561e&:bapbbx
  • + 1.195608 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=9e710a17c6f1893b8975843ad65a53ec&:102182
  • + 1.498411 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=aac6bac50a00897dcb59231afcd85b90&:ca7l9u
  • + 1.594516 BTC.GET - https://graph.org/Message--17856-03-25?hs=20bcd57ec809274e19061c909e168662&:xfnxxa
  • Notification- Process 1.846583 BTC. Verify =>> https://graph.org/Message--17856-03-25?hs=46cca2220f62b645c465c3659609f169&:o4qdng
  • + 1.628365 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=d2e9f25426f06f324d26af9866fa1537&:oh0f52
  • + 1.106535 BTC.GET - https://graph.org/Message--17856-03-25?hs=98190feaf2cf13b298012d5af2183ac8&:lzc0m1
  • We send a transfer from unknown user. Next > https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=9e710a17c6f1893b8975843ad65a53ec&:fqrvth
  • Ticket: SENDING 0.75905835 BTC. Next => https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=189b84788c5e6405c53f7dd1193b9874&:h8yo8m
  • + 0.75386069 BTC.NEXT - https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=d9564a149cf7ebbc725fcfce1bd3d512&:bc1353
  • Sending a transfer from unknown user. Take >> https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=b0daecdb412780460f6d70d2ebe7020c&:aau2lw
  • You have received a message(-s) № 221889. Open >> https://telegra.ph/Binance-Support-02-18?hs=bd8a1e7af9a0091b9e1cfeb86b9552cb&:kqpbhi
  • Notification; Operation №IV67. Go to withdrawal => https://telegra.ph/Binance-Support-02-18?hs=08b576daf9c0848743e65271d9d88559&:qwsyif
  • + 0.75961990 BTC.NEXT - https://telegra.ph/Binance-Support-02-18?hs=20bcd57ec809274e19061c909e168662&:p4uthc