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) //安全的数据库执行
*/希望可以帮到你.!
잔소리 (With 2AM 슬옹)가수 : 아이유
앨범타입 : 비정규
발매일 : 2010.06.03
늦게 다니지좀 마, 술은 멀리좀 해봐
不要太晚去上班,离酒精远一点
열살짜리 애처럼 말을 안 듣니
就像是十岁的孩子般,听不懂我说的话吗
정말 웃음만 나와
真的只能苦笑
누가 누굴보고 아이라 하는지
谁听来都像是在孩子说话
정말 웃음만 나와
真的我只能苦笑
싫은 얘기하게 되는 내 맘을 몰라
你不懂,为什么我要说这样让你讨厌的话
좋은 얘기만 나누고 싶은 내 맘을 몰라
你也不懂,我真正想要告诉你的话
그만할까? (그만하자)
就这样算了吗? 就这样算了吧
하나부터 열까지 다 널 위한 소리
从一到十,一句一句都是为你好才说的话
내 말 듣지 않는 너에게는 뻔한 잔소리
对不想听的你而言,却只是唠叨
그만하자 그만하자
就这样吧,就这样算了吧
사랑하기만해도 시간 없는데
我们所剩的时间就算只是相爱也不够啊
머리 아닌 가슴으로 하는 이야기
是打从心底想说的话
네가 싫다 해도 안 할 수가 없는 이야기
就算你不想听,却还是不得不说的话
그만하자 그만하자
就这样吧,就这样算了吧
너의 잔소리만 들려
我却只听见了你的唠叨
밥은 제때 먹는지, 여잔 멀리 하는지
有没有按时吃饭?有没有和别的女人保持距离?
온 종일을 네 옆에 있고 싶은데
想一整天都在你身旁的我
내가 그 맘인 거야
却总是力不从心的我
주머니 속에 널 넣고 다니면
如果能把你放在口袋里带走
정말 행복할 텐데
我一定会很幸福
둘이 아니면 안 되는 우리 이야기
一定会成为一对的我们的故事
누가 듣는다면 놀려대고 웃을 이야기
不论是谁听来都会惊讶和微笑的对话
그만할까? (그만하자)
就这样算了吗? 就这样算了吧
하나부터 열까지 다 널 위한 소리
从一到十,一句一句都是为你好才说的话
내 말 듣지 않는 너에게는 뻔한 잔소리
对不想听的你而言,却只是唠叨
그만하자 그만하자
就这样吧,就这样算了吧
사랑하기만해도 시간 없는데
我们所剩的时间就算只是相爱也不够啊
머리 아닌 가슴으로 하는 이야기
是打从心底想说的话
네가 싫다 해도 안 할 수가 없는 이야기
就算你不想听,却还是不得不说的话
그만하자 그만하자
就这样吧,就这样算了吧
나의 잔소리가 들려
我却只听见了你的唠叨
눈에 힘을 주고 겁을 줘봐도
你的眼神能够带给我力量,偶尔也会让我恐惧
내겐 그저 귀여운 얼굴
但对我来说你可爱的脸庞
이럴래 자꾸 (자꾸 너)
却总是(你总是)
더는 못 참고 (참고 너)
让我无法忍耐(忍耐的我)
정말 화낼지 몰라 (넌 몰라)
也许我真的会生气(我不知道)
사랑하다 말 거라면 안 할 이야기
如果不是因为爱你就不会说的话
누구보다 너를 생각하는 마음의 소리
总是比谁都更在乎你的我说的话
화가 나도 소리 쳐도
就算我会生气,会拉高音量
너의 잔소리마저 난 달콤한데
你的唠叨对我来说都是甜蜜的话
사랑해야 할 수 있는 그런 이야기
因为爱你才会说的话,这样的话
내 말 듣지 않는 너에게는 뻔한 잔소리
对不想听的你而言,却只是唠叨
그만하자 그만하자
就这样吧,就这样算了吧
이런 내 맘을 믿어줘
请相信我的心
欢迎分享,转载请注明来源:优选云