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

*/希望可以帮到你.!

可以重复取值~~但是请楼主看清楚~~你上面执行成功的部分是因为放在了while的执行环境里面的并且加了rs.next()这个判断,意思是当有下一行的数据的时候进行读取~~但是到了下面一行的时候~~你的rs已经在上面读取到了最后一行的数据,到了下面就会出现没有数据的问题~~因为rs这个东西是一行一行数据读取的


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

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

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

随机推荐

  • 法兰诗宝美容霜可以天天用吗

    最佳答案:可以美容液可以天天使用。肌肤的基本保养一般分为清洁、活性、保湿3大类清洁就如洗澡,把污垢往除干净,活性就像人体运动,皮肤需要通过美容液等赋予肌肤活性,而保湿则如人体天天需摄进蔬菜肉类补充营养一样,美容液对肌肤的保湿是不可缺少的。

    2023-12-14
    17400
  • 药妆品牌的护肤品

    现在中国市场上在药房和欧美药妆店中销售的医学护肤产品有:VICHY薇姿,LRP理肤泉(la roche-posay),AVENE雅漾。VICHY薇姿,LRP理肤泉出自欧莱雅化妆品公司,AVENE雅漾出自制药厂Vichy品牌创立于19

    2023-12-14
    25100
  • 迪奥的粉底怎么样值不值得买

    最爱迪奥forever凝脂恒久粉底液,010象牙白最白,非常适合亚洲人而且不会死白,实在不知道选什么颜色的妹子,就选这个颜色,不会出什么太大问题的。这款粉底液可以说是我目前用过里最值得的一款了,我虽然用过的粉底液不算很多,但对比起之前使用过

    2023-12-14
    17200
  • 世界十大经典香水系列,寄情水上榜,第一是香奈儿王牌香水产品

    导语:虽然香水每年都会推陈出新,出现的新香会有很多款,但有些凭借独特香味和设计感瓶身的香水却是永恒的经典,那至今为止都推出过哪些较为经典的香水系列呢,本文就为大家整理出十大经典香水,看看有没有你最爱的那一款。 世界十大经典香水系列

    2023-12-14
    19200
  • 王草清御膏那里有卖的

    这些个没有名字的化妆品 都敢往自己脸上抹啊擦上立刻白的这些东西含铅含汞的 要美白是个长时间的过程买化妆品 一定要买大牌子的这个套装估计也不便宜这些药说不定药店有卖爱美女士要小心以上就是关于王草清御膏那里有卖的全部的内容,包括

    2023-12-14
    22400
  • 化妆品七夕宣传文案策划(汇总80句)

      “世间万物有盛衰,人生安得常少年。”说说是我们表达心情状态和内心感受的一种方式,年轻人一般都喜欢发说说。值得我们收藏的空间说说的文案有哪些呢?下面是我为大家整理的“化妆品七夕宣传文案策划(汇总80句)”,仅供参考,欢迎大家来阅读。   

    2023-12-14
    24200
  • 一套护肤品有哪些

    包括;洗面奶、肌底液、眼霜、调理水、保湿乳、精华露、BB霜 、隔离霜 、防晒霜、面膜、眉笔、眼线笔、眼影、睫毛膏、假睫毛、双眼皮贴、定妆粉、腮红 、唇彩 、遮瑕笔等等;以下详细分类:化妆品:洗面奶、保湿水、乳液、日霜、晚霜、眼霜、眉笔、腮红

    2023-12-14
    16400
  • 欧莱雅玻尿酸和肤丽芳丝哪个好用

    欧莱雅玻尿酸好用。根据查询相关公开信息显示,欧莱雅玻尿酸中的玻尿酸分子小,能够更好地渗透到肌肤深层,并形成保湿膜,持久地保持肌肤的水分,导致欧莱雅玻尿酸的保湿效果比肤丽芳丝更持久,因此欧莱雅玻尿酸比肤丽芳丝好用。欧莱雅玻尿酸适用于所有肤质,

    2023-12-14
    18200
  • 长痘痘用了防晒霜之后要怎么卸妆

    误 解:清爽的防晒乳没有效果,要擦得油油的才有效。正 解:早期的高系数防晒乳为了增加防水、持久性,的确含有较多的油脂,经过技术不断的改进,现在很多防晒产品中都加入了“矽化分子”,让肌肤擦防晒乳之后还可以维持清爽、滑顺的感觉。误 解:隔离霜可

    2023-12-13
    16600

发表评论

登录后才能评论
保存