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

*/希望可以帮到你.!

<a href='?out=login'>就是给当前页面提交一个参数, 参数名为'out' ,参数值为login

获取这个参数用if($_GET[out]) 表示如果有参数名为'out'的参数提交

setcookie("cookie", "out")是设置本地cookie值,“cookie”是cookie名,“out”是cookie值

调用这个cookie时就用$_COOKIE['cookie']

if($_COOKIE['cookie']!='ok')就是判断cookie名为“cookie”的cookie的值是否为ok

如果不懂得可以看一下php的官方函数手册 setcookie $_COOKIE这都是系统函数


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

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

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

随机推荐

  • 冬季宝宝皮肤干燥,有什么好用的婴儿润肤霜推荐

    强生家可以说是专业做儿童品牌的老字号了。(很多妈妈都推荐过他家的牛奶润肤露,不过和给身体用的牛奶润肤露比起来,牛奶滋养霜更加滋润有营养哦。)主要成分:维生素A,维生素E,牛奶精华,其他。价格:中等;味道:适中;吸收:较好;保湿:很好;是否滋

    2023-12-14
    32100
  • 施华洛世奇和纪梵希哪个档次高

    纪梵希。1、纪梵希是一线品牌,属于高档档次。纪梵希来自法国的时装品牌,纪梵希最初以香水为其主要产品,后开始涉足护肤及彩妆事业,纪梵希不仅是是化妆品中的奢侈品,它更是时装界中的龙头品牌之一,当然价格也更高。2、施华洛世奇并不算一线奢侈品,是轻

    2023-12-14
    23900
  • 巴宝莉到底好在哪里

    感谢受邀,在众多的服饰品牌中,巴宝莉的服装具有明显的特色,经过一百多年的发展,巴宝莉服饰赢得了世人的信赖 第一,巴宝莉衣服整体“韵美感”较强。 不论是男式风衣,还是女士风衣,巴宝莉风衣的外观和其它服饰有显著的区别,主要在于它的设计

    2023-12-14
    23400
  • 资生堂悦薇珀翡系类

    资生堂悦薇珀翡系列主打抗老化和美白,所含VP8融合了活力植物提取物和美白成分4MSK。整套系列都是淡淡的花香,据说融合了百合、玫瑰和茉莉。来看看悦薇珀翡系列的各个产品吧!悦薇珀翡紧颜亮肤水水的瓶子就跟CPB沁肤蜜一样,有个小口子,方

    2023-12-14
    39600
  • 迪奥口红哪个色号好

    问题一:迪奥口红有几个系列烈焰蓝金,魅惑唇膏和唇彩,一般橘色系的比较不挑人并且显气色时候日常,蓝金的532,539;魅惑的639。粉色系也比较适合学生,显得很。但是如果不是超级白,那种偏紫的粉色如果不能试色(如魅惑的479),就不要

    2023-12-14
    22900
  • 《闲情偶寄·芙蕖》是什么意思

    闲情偶寄·芙蕖原文及翻译如下:自从荷叶出水那一天,它就能为一池碧水做点缀;等到它的茎和叶长出,则一天比一天高,每天往上长,每天越来越艳丽。有风时就呈现出飘动摇摆的情态,无风时也有轻盈柔美的风姿。等到花蕊绽开,荷花顶出水面,风姿娇美,晶莹欲滴

    2023-12-14
    21500
  • 孕婴店加盟哪一家公司最好啊

    我在网上还找到了这样一篇文章,大家有耐心的不妨仔细看完,里面的情况发人深省: 在当今的中国,各形各色的骗局可以说是五花八门,数不胜数!抛开一些小的街头骗局,大型的骗术就有传销骗局,短信中奖骗局,信用卡中奖骗局,连锁加盟骗局等等! 如果我要是

    2023-12-14
    28100
  • 静玉颜护肤品哪里有卖的

    玉静颜化妆品有限公司、天津市武清区静玉化妆品店。1、玉静颜化妆品有限公司位于张家港市杨舍镇人民路,该公司主要生产与制作静玉颜护肤品、补水面膜等。2、天津市武清区静玉化妆品店位于天津市武清区杨村街道馨如园,该店主要生产与制作静玉颜护肤品、补水

    2023-12-14
    19800
  • 化妆品排行榜前十名是

    品牌列表:雅诗兰黛化妆品,迪奥化妆品。雅诗兰黛是全球最大的护肤、化妆品和香水公司之一,倩碧、阿拉米斯、芭比布朗等都是其旗下品牌。一开始是以护肤霜和抗衰老护肤品出名,但是它的化妆品也很受欢迎,有底妆。十大大牌护肤品动词(verb的缩写)香奈儿

    2023-12-13
    26000

发表评论

登录后才能评论
保存