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
    37100
  • 十大最好粉底液推荐

    我是一个小仙女,对于粉底液用过许多。很多人想要提亮肤色,出门有气质,都会化一些淡妆来修饰自己的肌肤,其中粉底液来打底是少不了的,而选择适合自己的一款粉底液是很重要的,市场上有很多的粉底液品牌比较出名,大家可以根据自己的肤色来选择。下面我推荐

    2023-12-14
    19700
  • 法国天芮化妆品怎么样法国天芮适合什么年龄呢

    法国天芮化妆品怎么样SPA护肤一直是被认为是高端且价格昂贵的全面护肤理疗,而法国Terraké天芮却把它搬到了具体的产品中,给予了肌肤最深层最全面的SPA体验,而且将高大上的SPA体验变成家庭化简单化,但效果却一点也没打折扣。系列多样化目前

    2023-12-14
    16900
  • 迪奥999买丝绒还是哑光

    迪奥999口红哑光和丝绒和缎光都好,主要看你喜欢哪一种质地。质地不同:从字面意义上看,哑光是光泽度比较低的色号,不像滋润版那么细腻水润,反而更加高级饱满。而999丝绒的话,质地更加高级,带着丝绒的质感,有着复古的风情。颜色不同:虽然同为迪奥

    2023-12-14
    16600
  • 淘宝化妆品店名

    在网络购物时代中,淘宝是其中发展最大的一个电商平台,里面的商店种类多不胜数,其中化妆品就是销量最大的产品种类之一,除了大品牌的化妆品品牌入驻以外,还有许多个体商户在淘宝电商平台开店。在淘宝开化妆品店并不容易,如果宣传没做好,那么就很难做到运

    2023-12-14
    22500
  • 开架和专柜的彩妆差距,究竟在什么地方呢

    大家都知道开架和专柜的彩妆差距,究竟在什么地方呢? 下面小编会给你介绍的。巨大差价的秘密1专利的增加开放式框架-经典这里以美白产品为例。一般来说,开架美白产品的成分是珍珠蛋白和维生素C,结构比较简单,在很多美白护理产品中都有使用。并不是说这

    2023-12-13
    16900
  • 郁美净的正确使用方法

    郁美净的儿童霜只需要洁面后涂抹,也可以作为水乳霜使用。郁美净的儿童霜在夏天最好在晚上使用,因为郁美净含有光敏成分甘油,白天使用郁美净会使皮肤变黑。 郁美净的儿童霜适合儿童和学步儿童,十岁可以用,但是十五六岁的时候,这个儿童霜就有点不适合了

    2023-12-13
    16900
  • 哪个品牌的软磁假睫毛更耐用

    通常我们在美容的过程中一定少不了假睫毛的点缀,好的假睫毛不仅不会对眼睛造成伤害,而且还可以让双眸变得更加楚楚动人,那么哪些牌子的假睫毛好呢什么品牌的假睫毛是性价比最高的呢今天排行榜123网就梳理了假睫毛十大品牌排行榜推荐您参考!假睫毛十大品

    2023-12-13
    18000
  • 如何内涵姓李的人

    名字是一个人来到这个世界上的身份象征,很多的准爸爸准妈妈们都早早的为孩子起好了名字。 李姓的来源和说法源出嬴姓即认为李氏源出嬴姓,血缘先祖为东夷族首领皋陶(一作咎繇,偃姓或赢姓),皋陶曾被任命为舜的大理(掌管刑法的官)[3-4] ,遂以官命

    2023-12-13
    18600

发表评论

登录后才能评论
保存