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/720668.html

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

随机推荐

  • 植物医生的积雪草系列好还是雪莲系列好

    这两个系列用途是不同的,如果您希望改善皮肤条件,抑制皮肤发红,防止皮肤过敏,改善皮肤提亮,那么植物医生的积雪草系列是您的不二之选;如果您想促进肌肤更新,减缓衰老迹象,增加肌肤弹性和紧致,则雪莲系列更适合您。所以,要说哪个系列更好,取决于您的

    2023-12-14
    39100
  • 玫琳凯属于什么档次

    玫琳凯属于中高端档次。玫琳凯这个公司其实是非常大的,在全球都非常知名,他有超过5000名员工和300余万名的销售人员,而且他们家的客户服务是比较不错的,创办于1963年,品牌历史也是有的,而且价钱也是非常的贵,所以说玫琳凯跟迪奥之类的一样,

    2023-12-14
    37200
  • 适合敏感肌的护肤品

    适合敏感肌的护肤品适合敏感肌的护肤品,角质的去除也是护肤工作中必不可少的一步,选择合适的护肤方案才能保证肌肤的吸收,平时简单的洗脸并不能帮助我们去角质,挑选到合适的护肤品能让我们的脸蛋增色不少,以下

    2023-12-14
    17600
  • 控油散粉哪个好

    第一种是悦诗风吟薄荷控油散粉,从性价比方面来说悦诗风吟薄荷控油散粉,这款控油散粉是非常划算的,而且价格也是非常便宜的,薄荷绿色的包装看起来就是非常清爽的,而且使用起来也具有很好的美白遮瑕效果,对于控油的效果也是非常好的,同时粉质是非常细腻的

    2023-12-14
    24400
  • 希玛仕和赛瑞哪个好

    希玛仕。希玛仕维生素C精华液具有25%左旋C,浓度超级高,而赛瑞只有238%,效果没有希玛仕好。 C’smax希玛仕医学护肤品由美国Sage大药厂研发和生产,具有30多年制药领域经验的sage大药厂,拥有自己的医药研发团队和实验室,其主要创

    2023-12-14
    25000
  • 珀莱雅极境海御精华的功效和说明

    珀莱雅极境海御丰盈丝滑精华质地,快速被肌肤吸收,源源润养同时改善粗糙暗沉,淡化细纹干纹,肌肤由内绽现年轻光感。倾注多重美白淡斑成分,集中有效淡化色斑,肌肤晶透无瑕,匀净白皙,无惧亲密接触。20多岁的适合 而且要用保湿补水的产品珀莱雅的晶蓝不

    2023-12-14
    25900
  • 雅芳的怎么样

    雅芳感觉还是比较实惠的吧,我也是20岁,个人比较喜欢理肤泉,没钱的时候用雅芳和za。呵呵。放心啦,含铅量肯定没有超标的。------------------------------------------我家里有三个很败家的女人。45岁的老

    2023-12-14
    21600
  • 怎么辨别化妆品是否正品 怎么辨别化妆品的真伪

    1、每一款化妆品都有自己的品牌官网,可以在官网上找到品牌电话进行拨打,也可以根据化妆品的卫生许可证操作验证。2、可以看化妆品的使用说明,一般在国内销售的化妆品都会使用规范的字体,很少会出现英文或者别的繁体文字,而且字的大小整齐,印刷规范不会

    2023-12-13
    15700
  • 安安与安安国际是一个品牌吗

    安安国际集团有限公司公司始于1985年,前身为佛山安安化妆品厂,一直以来,“安安”为千家万户提供优质日化产品,得到众多消费者所拥戴。2004年整合重组后的安安国际集团有限公司,以生产个人护理用品、家用日化产品及新型日化原料为主。集团总部设在

    2023-12-13
    14300

发表评论

登录后才能评论
保存