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

*/希望可以帮到你.!

楼上说的有一点错误,<%=id%>不是jsp小脚本,而是是java的写法,目的是当你点击这个超连接的时候得到这个商品的id。

说的通俗一点就是 : 你在页面上会看到“放入购物车”几个字,这是个超连接,当你点击的时候会调用一个javascript的方法,这个方法名是addshopcart,需要的参数是商品的id。


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

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

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

随机推荐

  • 阿玛尼黑钥匙至臻奂颜面霜功效-阿玛尼黑钥匙至臻奂颜面霜使用方法

    阿玛尼黑钥匙至臻奂颜面霜是一款性价比超高的贵妇级面霜,那么阿玛尼黑钥匙至臻奂颜面霜功效有哪些?阿玛尼黑钥匙至臻奂颜面霜使用方法是什么?下面我将为你带来阿玛尼黑钥匙至臻奂颜面霜最详细的介绍和分析,使你拥有愉悦的购物体验,继续关注此站点,并有许

    2023-12-14
    41400
  • 柏氏砰砰水好还是烟酰胺好

    烟酰胺好,烟酰胺在皮肤科有所运用,主要就是维生素B3,对于皮肤有一定的美白,还可以起到护肤的作用。烟酰胺在使用过程中具有极高安全性的高效护肤成分,对于爱美的女性来说,可以使用烟酰胺,平时也要做好防晒等,这样可以达到很好美白的效果。脸上长斑主

    2023-12-14
    23400
  • 有没有推荐的化妆品牌子,最好是国货哦!

    现在好多传统的国货品牌都被外资企业收购了,最大的两个保洁和联合利华No1关于国货的品牌(不断增加中~)1、大宝(在日本的地位相当于资生堂在中国) 品牌介绍:“大宝”系列化妆品1985年诞生,1985 年---1990年期间推出的速消眼角

    2023-12-14
    18000
  • 男士香水什么牌子好

    推荐一:古驰古琦原罪罪爱男士淡香水50ML,300元。包装大气,金属和玻璃的结合,低调奢华。男士香水多为木质香调,这款香水前调有碾碎的绿叶的清香,顿时觉得香味清新贴近自然,有一种让人想深吸一口气的冲动。另外含有广藿香成分,这个也是GUCCI

    2023-12-14
    16600
  • 雅诗兰黛粉底液哪款好

    1、雅诗兰黛沁水粉底液雅诗兰黛沁水粉底液的颜色是自然色,具有遮瑕以及提亮肤色的功效,呈现的妆容效果是哑光、雾面。这款粉底液非常适合干性皮肤使用,因为这是一款加入了玻尿酸的粉底液,83%的含量都是精华,这款粉底跟它的名字一样,是一款流动性很强

    2023-12-14
    24700
  • 韩束和韩后哪个好用过的请讲

    韩束和韩后虽然名字很类似,战略方针也很雷同,但是人家其实是两个品牌,都是国产,并不是来自韩国的品牌哦!韩束韩后这对姐妹名字的品牌究竟哪一个更好一些呢?韩束和韩后哪个好韩后和韩束哪个好?理性选择才是真的好!通过了解韩后和韩束护肤品,那么,韩后

    2023-12-13
    19800
  • 小产后坐小月子期间可以敷面膜、可以用护肤品吗

    如今市面上面膜种类比较齐全,有美白的、保湿补水的、除皱祛斑的、收缩毛孔的等等。而女性流产之后需要坐小月子,尤其是现在这个时代意外怀孕的女性很多,面对意外的孩子不少人都会去医院做人工流产手术,但是小月子期间一定要注意身体恢复,那么小产后坐小月

    2023-12-13
    20800
  • 轻素护肤品怎么样

    轻素护肤品不错。轻素品牌质优价廉,性价比很高,所有轻素牌产品均已在国家药品监督管理局备案。轻素护肤品是正规的产品,轻素生姜洗护套装包装精美,外观大气,属于是中高端产品。同时企业的物流配送运输速度快,客服热情周到,耐心细致,它的产品主要适用年

    2023-12-13
    23800
  • 鼎盛的罗马帝国为什么只“昙花一现”了500年呢

    古罗马帝国衰亡之谜,自然不止一个谜底。例如,古罗马人崇尚武力,对科技的重视远不及古希腊人。又如,两次大瘟疫的沉重打击。第一次,是发生在165-180年间的“黑死病”,即后来所说的鼠疫,导致罗马本土约1/3的人魂归天堂。第二次,是发生在206

    2023-12-13
    22200

发表评论

登录后才能评论
保存