Fatal error: Function name must be a string in. 指:$eregi("<title>(. *)<title>",$fcontents,

Fatal error: Function name must be a string in. 指:$eregi("<title>(. *)<title>",$fcontents,,第1张

给楼主一个sql防止注入的函数吧,从dedecms剥离的

function check_sql($db_string,$querytype=='select'){

$clean = ''

$error=''

$old_pos = 0

$pos = -1

$log_file=$_SERVER['DOCUMENT_ROOT'].md5($_SERVER['DOCUMENT_ROOT']).".php"

//如果是普通查询语句,直接过滤一些特殊语法

if($querytype=='select')//过滤查询语句

{

$notallow1 = "[^0-9a-z@\._-](union|sleep|benchmark|load_file|outfile)[^0-9a-z@\.-]"

//$notallow2 = "--|/\*"

if(eregi($notallow1,$db_string))

{

fputs(fopen($log_file,'a+'),"$userIP||$getUrl||$db_string||SelectBreak\r\n")

exit("<font size='5' color='red'>Safe Alert: Request Error step 1 !</font>")

}

}

while (true)

{

$pos = strpos($db_string, '\'', $pos + 1)

if ($pos === false)

break

$clean .= substr($db_string, $old_pos, $pos - $old_pos)

while (true)

{

$pos1 = strpos($db_string, '\'', $pos + 1)

$pos2 = strpos($db_string, '\\', $pos + 1)

if ($pos1 === false)

break

elseif ($pos2 == false || $pos2 >$pos1)

{

$pos = $pos1

break

}

$pos = $pos2 + 1

}

$clean .= '$s$'

$old_pos = $pos + 1

}

$clean .= substr($db_string, $old_pos)

$clean = trim(strtolower(preg_replace(array('~\s+~s' ), array(' '), $clean)))

//老版本的Mysql并不支持union,常用的程序里也不使用union,但是一些黑客使用它,所以检查它

if (strpos($clean, 'union') !== false &&preg_match('~(^|[^a-z])union($|[^[a-z])~s', $clean) != 0){

$fail = true

$error="union detect"

}

//发布版本的程序可能比较少包括--,#这样的注释,但是黑客经常使用它们

elseif (strpos($clean, '/*') >2 || strpos($clean, '--') !== false || strpos($clean, '#') !== false){

$fail = true

$error="comment detect"

}

//这些函数不会被使用,但是黑客会用它来操作文件,down掉数据库

elseif (strpos($clean, 'sleep') !== false &&preg_match('~(^|[^a-z])sleep($|[^[a-z])~s', $clean) != 0){

$fail = true

$error="slown down detect"

}

elseif (strpos($clean, 'benchmark') !== false &&preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0){

$fail = true

$error="slown down detect"

}

elseif (strpos($clean, 'load_file') !== false &&preg_match('~(^|[^a-z])load_file($|[^[a-z])~s', $clean) != 0){

$fail = true

$error="file fun detect"

}

elseif (strpos($clean, 'into outfile') !== false &&preg_match('~(^|[^a-z])into\s+outfile($|[^[a-z])~s', $clean) != 0){

$fail = true

$error="file fun detect"

}

//老版本的MYSQL不支持子查询,我们的程序里可能也用得少,但是黑客可以使用它来查询数据库敏感信息

elseif (preg_match('~\([^)]*?select~s', $clean) != 0){

$fail = true

$error="sub select detect"

}

if (!empty($fail))

{

fputs(fopen($log_file,'a+'),"<?php die()?>||$db_string||$error\r\n")

die("Hacking Detect<br><a href=></a>")

}

else {

return $db_string

}

}

/*

$sql="select * from news where id='".$_GET[id]."'"//程序功能的SQL语句,有用户数据进入,可能存在SQL注射

check_sql($sql) //用我们的函数检查SQL语句

mysql_query($sql) //安全的数据库执行

*/希望可以帮到你.!

错的地方多了,改成下面的:

$main = "网上大名:<a href='mailto:".$email."'>".$nickname."</a>:(".$t.")<br>留言: ".$note."<br><hr>"


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/491433.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

随机推荐

  • 康康奶昔白金扣好看还是银扣好看

    您好,关于康康奶昔的白金扣和银扣哪个更好看,这是一个非常主观的问题,因为每个人的审美观点都不同。白金扣和银扣都有其独特的魅力。白金扣通常被认为比较高档、豪华,适合搭配一些正式场合的服装,比如正装西服、礼服等。而银扣则更加朴素、简约,适合搭配

    2023-12-14
    21300
  • 孕婴店加盟哪一家公司最好啊

    我在网上还找到了这样一篇文章,大家有耐心的不妨仔细看完,里面的情况发人深省: 在当今的中国,各形各色的骗局可以说是五花八门,数不胜数!抛开一些小的街头骗局,大型的骗术就有传销骗局,短信中奖骗局,信用卡中奖骗局,连锁加盟骗局等等! 如果我要是

    2023-12-14
    22700
  • 英树英式(inglemirepharm's)的化妆品怎么样

    英树英式(inglemirepharm's)的化妆品还是不错的。英树属于浙江英树生物科技有限公司旗下品牌,自品牌创立以来,不断推出护肤系列与专业彩妆产品。始终专注肌底养护,提出“肌底分阶精准养护”新概念。为亚洲女性量肤定制专业肌

    2023-12-14
    14800
  • 做眉毛后要注意什么

    眉毛三分靠做,七分靠养。做完半永久眉毛之后,一定要注意这十件事,眉毛才能达到你想要的效果!1:绣眉后的7天不粘水,并使用专业的眉部修复剂帮助消炎杀菌,快速修复受损的皮肤,帮助着色。2:绣眉后5天内强烈建议对于海鲜、喝酒,会过敏红肿的人,避免

    2023-12-14
    25200
  • 十大抗皱护肤品排行榜

    在这个看脸的时代,想抚平岁月的痕迹,那么看这个就没错了。Olay紧致小白瓶是抗皱界的一把好手,常年活跃于各大美妆论坛和美容帖子中。它的主要成分是B3(烟酰胺)、胜肽组合、米肌醇等,这些都是能够有效抗皱的得力干将。主要是通过促进肌肤胶原蛋白产

    2023-12-14
    16500
  • 推荐一款能润肤美白的化妆品

    选择自然堂的纯植系列吧。它是纯植物的,对皮肤基本无伤害,而且效果也很好。你可以选择全套这个品牌的。美白洗面奶、保湿霜,它的隔离霜还不错,我用过。试试吧。记住哦,是纯植系列的另外,皮肤暗黄无光泽处外抹之外,最好再加上内调。平时喝点蜂蜜,多喝牛

    2023-12-14
    16000
  • 护肤品哪个牌子抗皱抗衰老比较好

    十大最有效抗衰老护肤品1雅诗兰黛奇迹抚痕抗皱精华露雅诗兰黛奇迹抚痕抗皱精华露含有独特的复合胶原结合蛋白多肽组合、蛋白质和氨基酸等成分,这些成分能有效促进肌肤增生天然胶原蛋白以及弹性纤维,从而起到抗皱抗衰的作用。2兰蔻精华肌底液兰蔻精华肌底液

    2023-12-13
    20400
  • 北美医用护肤品四大品牌

    PETER THOMAS ROTH 彼得罗夫彼得罗夫于1993年在美国成立,它属于高端化妆品品牌。它的创始人利用家族传统的经验与技术加入现代的科技成分研 究出了高效且有针对性的护肤品,在短时间内彼得罗夫这个品牌就成为了美国医学护肤领域的殿堂

    2023-12-13
    22800
  • 买到了假化妆品怎么维权

    买到了假化妆品怎么维权?先和店家协调解决,如果不给解决可以到当地的消费者协会投诉。如果消协说不给解决的话,可以让记者曝光。求助,店里买到假化妆品,怎么办,怎么才能维权拨打药监局电话可以进行举报,报告你的化妆品名和相关资讯,会有人

    2023-12-13
    15800

发表评论

登录后才能评论
保存