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

随机推荐

  • 韩律紫色套装属于什么系列一盒套装一个面霜眼霜1600人民币贵吗谢谢!

    你说的是这个系列吗是什么系列的我也不知道翻译成中文应该叫什么,韩语是고결진액 ,是抗皱系列的吧,如果只是一个面霜加一个眼霜1600的话,我个人认为贵了,比韩国的价格是贵很多,但是不知道如果加关税什么的会不会是那个价格。我只能告诉你,在韩国,

    2023-12-14
    46300
  • 悦薇御光赋活系列和悦薇珀翡区别

    资生堂的护肤品这么火,相信大家也用过不少啦,但是还是有很多人分不清悦薇和悦薇珀翡今天小薇就来说下两者的区别:首先,这两个品牌都是资生堂集团滴~不同的是,悦薇是独立品牌,而悦薇珀翡则是资生堂集团旗下的资生堂品牌的一个系列~资生堂(Shisei

    2023-12-14
    31500
  • 珀莱雅的护肤品好吗

    不错。从价格到用后效果和感受上比,更倾向用后者,信价比比较高。日常基础护肤品,如化妆水、乳液、面霜等等。1、珀莱雅zd的护肤顺序是先从化妆水这类质地稀薄的护肤品开始轻拍脸上,调整肌肤的酸碱值,后续浓度高的护肤品就更好吸收。2、眼霜在精华之后

    2023-12-14
    30900
  • 伊夏八杯水为什么那么便宜

    成本不高,宣传费用少。伊夏八杯水成本不是很高,再则宣传费用少,把实惠给到消费者了,所以相比较市场上同等性价比的其它化妆品来说价格就会便宜多了。伊夏护肤品是一家来自广州的护肤品品牌,由广州依夏生物科技有限公司研发生产销售,根据企业查信息显示伊

    2023-12-14
    30600
  • 国内外化妆品的发展趋势

    1、化妆品的市场需求非常大,而且需求还会越来越大。目前化妆品需求旺盛,品牌多样化但处于市场低端的品类,由于技术含量低、品牌价值低,同质化严重,以及出口转内销等,产能将严重过剩,所以美妆技术和美妆研究加持的品牌,才是以后美妆的高速公路。2、中

    2023-12-14
    19800
  • 什么品牌的男士护肤品改善肌肤效果好

    1彻底清洁男士肌肤和女士肌肤的肤质不一样,彻底清洁是第一步,也是最重要的一步。男士护肤品什么牌子好针对男人每个人的肤质,选择适合自己的、清洁力较强的洁面产品,彻底洗去多余的污垢和油脂。尤其是外出回家、运动之后,更要记得马上洗脸,如条件不允许

    2023-12-14
    20000
  • 护肤品视黄醇的作用与功效

    视黄醇的护肤功效:抗衰、淡化色素、抗氧化。1、抗衰:视黄醇作用在皮肤上面,能够让相关细胞发挥出更加全面和正常的功能,减少其受损以及衰老速度。2、淡化色素:视黄醇作用在皮肤上面,能抑制皮肤黑色素物质的生成,同时提升细胞原有的新陈代谢速度,同时

    2023-12-13
    19100
  • 请用英文介绍一款化妆品,在线等

    Perfume is a mixture of fragrant essential oils and aroma compounds, fixatives, and solvents used to give the human body

    2023-12-13
    21100
  • 办理理发卡退卡后商家不退款该怎么办

    办理理发卡退卡后商家不退款,消费者只有去工商局投诉,预付费卡不退钱是霸王条款,如果工商局接到消费者投诉,都会要求商家退回剩余款项。有些理发商家与消费者签订的合同中明确规定,任何情况下都不能退钱,这无疑是霸王条款。消费者可以先与商家协商,不行

    2023-12-13
    21100

发表评论

登录后才能评论
保存