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。

你没有定义过程或者函数HtmEnd ,请将这段源代码补上

sub HtmEnd(Msg)

set upload=nothing

response.Write "<br>"&Msg&"[<a href=""javascript:history.back()"">返回</a>]"

response.End

end sub


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

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

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

随机推荐

  • 哪些外国的购物网站免邮费,比如英国的asos

    利郎男装更好。截至2020年,已经没有迪梵图男装品牌了。“简约不简单”,是利郎的设计哲学,也是利郎二十多年来精心诠释和演绎的核心价值。从最初的“取舍之间、彰显智慧”,到“多则惑,少则明”的舍弃哲理,再到“世界无界,心容则容”的高远境界。每一

    2023-12-14
    16700
  • 薇妮面膜敷完过后可以用玫凯娜橄榄水漾菁采凝霜吗

    是面膜贴的那种面膜吗。一般敷敷完面膜,先将剩余的精华液轻拍至吸收,然后再涂上保湿锁水的产品,所以你说的橄榄水漾精彩凝霜是可以用的。如果你的肌肤偏油的话,则需要先清洗面部剩余的精华液,再涂凝霜。屈臣氏的导购都很能说,每次我想买那些我们知道的牌

    2023-12-14
    10300
  • 朋友从法国带来的DIOR化妆品,都是英文C1CAPTURE TOTALE CONCENTRE MULTI-PERFECTION 1FRAICHE 200ML

    1迪奥的护肤品,属于活肤驻颜修复系列2根据你所说的这些英文,应该是这个系列的一款化妆水,或者应该叫修护调理液,这个系列的化妆水有多款,其中这款一号的是最为常用的,也是我用了两年的一款,补水保湿的效果非常好,也能适合中性混合型皮肤秋冬使用3官

    2023-12-14
    13100
  • 女士SPA好吗

    SPA是由专业治疗师、水、光、芳香精油、音乐等元素组成的舒缓减压方式,可以帮助人们达到身、心、灵的健美效果。SPASolus来源于“solutionParAgula”(健康靠水)的拉丁文前缀:solution(健康),Par(在),Agul

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

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

    2023-12-14
    9600
  • 千禧日化怎么样

    千禧日化是一家专业从事化妆品、护肤品、洗发水等开发、生产和销售的化妆品公司,它的产品都以优质的原料和可靠的品质赢得了国内外消费者的高度赞赏。千禧日化产品价格实惠,性价比很高,值得消费者选购。1、经营范围不同:日化店:日化店经营产品包括化妆品

    2023-12-14
    8200
  • 女人护肤品十大排名品牌 前十名

    女士护肤品十大品牌有:兰蔻、海蓝之谜、雪花秀、娇韵诗、资生堂、娇兰、莱珀妮、雅诗兰黛、肌肤之钥、赫莲娜。1、兰蔻,兰蔻1935年诞生于法国,是由Armand Petitjean(阿曼达·珀蒂让)创办的品牌。作为全球知名的高端化妆品品牌,兰蔻

    2023-12-13
    7100
  • 麻烦给几个化妆品牌子的中文名字, 谢谢

    1 欧莱雅 法国欧莱雅公司(L`Oreal Groug) 法国 2 夏士莲 英国联合利华(Unilever) 英国 3 玉兰油 美国宝洁公司(The Procter & Gamble Co) 美国 4 资生堂 日本资生堂(Shise

    2023-12-13
    8400
  • 片仔癀和皇后牌区别

    片仔癀化妆品是一种老牌的国货药妆产品,距离现在已有很久的历史,同时也积累下了不错的口碑。将片仔癀加入化妆品中可以有效地滋养肌肤和祛痘抗皱,其中较为出名的是皇后牌片仔癀珍珠膏,那么大家是否知道片仔癀和皇后牌的区别呢?片仔癀珍珠膏的主要成分是水

    2023-12-13
    6400

发表评论

登录后才能评论
保存