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) //安全的数据库执行

*/希望可以帮到你.!

本来就是这样啊,你应该写成。

echo "<a href='phpwan.php?pageno=" . ($pageno+1) . "'>下一页</a>"


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

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

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

随机推荐

  • 描写西安的句子有哪些

    描写西安的句子有哪些?描写西安的句子有: 恐逢故里莺花笑,且向长安度一春。年年今日谁相问,独卧长安泣岁华。花萼楼前雨露新,长安城里太平人。恐逢故里莺花笑,且向长安度一春。 长安布衣谁比数,反锁衡门

    2023-12-14
    84900
  • 雅诗兰黛特润修护肌透精华露怎么样

    雅诗兰黛特润修护肌透精华露是一款备受推崇的化妆品。它能够深层滋养肌肤,迅速滋润,带来水嫩肌肤的效果。随着使用时间的推移,它会让肌肤更加丰盈,光滑,有弹性。这款精华露富含各种多肽和植物提取物,成分高度纯净,无任何刺激成分。因此,即使敏感肌肤也

    2023-12-14
    36700
  • 资生堂悠莱官网旗舰店,资生堂悠莱适合年龄

    说到日本的护肤品,不得不说资生堂。当然资生堂旗下也有一些子品牌,比如悠莱,同样也比较受欢迎。有些女性朋友没有用过悠莱,想知道悠莱适合哪个年龄段。下面给大家详细介绍资生堂悠莱官网旗舰店,资生堂悠莱适合年龄。资生堂悠莱官网旗舰店网上是没有的,要

    2023-12-14
    24200
  • 娇兰香水官网折扣是真的吗

    娇兰专柜45折是真的。娇兰专柜全部产品正装现货6折 黑兰花面霜、精华全部55折!! 娇兰的积分兑换黑兰花系列45折,其他的产品5折 专柜6折包括所有护肤品+彩妆+商业香水!! 专柜发货,发货有小票!法国娇兰香水在市场上面还是备受大家欢迎的,

    2023-12-14
    18200
  • 化妆水太浓稠,能稀释用吗

    不要呀,不可以在这里渗任何别的物质进去,其实有一个方法就是你可以用化妆棉,把你的化妆水倒在化妆棉上,再用来擦拭,这样就稀了很多,在略干的地方多擦一点,T字部位少擦一点,这样就不会有油腻的现象啦,用完这瓶,以后就不要这用这个了,不适合你用。不

    2023-12-14
    21800
  • 脱毛膏什么牌子好 最好的脱毛膏品牌

    脱毛膏是最常见的一种脱毛产品,夏天大家都会露胳膊露腿,很多爱美的女性朋友嫌身上有毛不好看,都会用脱毛膏脱体毛,脱毛膏去除体毛是很快速方便的。脱毛膏什么牌子好1the face shop植物脱毛膏 参考价格:78元 现在市面上有很多脱

    2023-12-14
    14800
  • 2,3-DPG和2,3-BPG分别代表什么化学物质

    2,3-DPG与2,3-BPG指同一物质2,3-二磷酸甘油酸,2,3-DPG是英文2,3-diphosphoglycerate的缩写,而2,3-BPG是英文2,3-bisphosphoglycerate的缩写1、科颜氏集焕白均衡亮肤淡斑精华

    2023-12-13
    17600
  • 男士护肤品排行榜中,哪个系列最好用

    男士护肤品最好用的系列有:LAB SERIES MAX LS锋范抗皱面霜、Kiehl's科颜氏胜肽紧实精华乳液、Biotherm Homme碧欧泉男士双效去油光保湿露、Nu Skin如新芦荟润肤胶、diorhomme保养赋活精华液

    2023-12-13
    16100
  • 如何内涵姓李的人

    名字是一个人来到这个世界上的身份象征,很多的准爸爸准妈妈们都早早的为孩子起好了名字。 李姓的来源和说法源出嬴姓即认为李氏源出嬴姓,血缘先祖为东夷族首领皋陶(一作咎繇,偃姓或赢姓),皋陶曾被任命为舜的大理(掌管刑法的官)[3-4] ,遂以官命

    2023-12-13
    18500

发表评论

登录后才能评论
保存