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) //安全的数据库执行
*/希望可以帮到你.!
01 나 - Various Artists<br>
<br>Bridge on the zikiziki Hu!
<br>Don't stop zikiziki Hu! Hu!
<br>Keep on zikiziki Hu!
<br>Can't stop me now Can't stop me yeah!
<br>Woo-Hey Bingo! I'm gonna go! go! go!
<br>Hey Bingo! join in my crou come on!
<br>
<br>(RAP 1)
<br>다른 세상에서 너를 보고 있다
<br>껍질을 깨고 다시 눈을 뜨면
<br>갇혀버린 환상에 빠진다
<br>
<br>(VERSE)
<br>본 사람 하나 없이 끝내지마 Look at the sight!
<br>나를 에워싸는 질문 부셔버려 Look at the sight!
<br>이제 그 누구도 나를 막을 수는 없을거야
<br>이상해서 보는 사람 관심조차 없어 난 언제나 나니까
<br>
<br>(CHORUS)
<br>처음엔 나를 보고 이상하게 생각하지
<br>하지만 날 두고봐(지켜봐) How much I feel it
<br>틀에 박힌 습관들은 필요없어 내 마음대로 해
<br>
<br>(BRIDGE)
<br>난 머뭇거릴 시간조차 없어 Look at the sight!
<br>막혀있는 듯한 시간 부셔버려 Look at the sight!
<br>꿈이 있는 사람들은 나를 이해할 수 있어
<br>세상을 두려워하면 아무것도 얻지 못하는걸 알아야해
<br>
<br>(CHORUS)
<br>
<br>(RAP 2)
<br>골치아픈 질문은 모른다고 해 상관없어
<br>누가 알아 어려운건 싫어
<br>위선자가 큰소리치면 꺼지라고 해
<br>
<br>(VERSE)
<br>
<br>是不是这个??
05 너 하나만 사랑해 - 고한우 只爱你一个
지나버린 추억속에 잠긴 채
그 많았던 시간들을 난 헤매다녔지
하루라도 너를 잊지 못한 채
날 떠나간 기억으로 살아야 했지만
다시 널 통해 확인하고 싶어
니가 없는 세상에 살 수 없다는 걸
다시 너의 곁에 남겨지고 싶어
잃어버린 시간을 찾고 싶었는데
나를 믿어줘 그저 내 마음을
너에게 돌아올 나를 지켜봐
이젠 나에게 편안히 쉴 수 있게
내가 살아가는 언제나
이 세상이 끝나는 날까지
너 하나만 사랑해
欢迎分享,转载请注明来源:优选云