KúnKuTe
31-12-08, 07:32 PM
Chào anh em.
Qua nhìu ngày vưa rồi. mình nhận thấy hầu hết các Muweb Free cho Online đều bị hacker hack drop data. hum nay mình share code chống drop data cho MUWeb ngôn ngữ Php. mấy ngày vừa rồi do bận thi cử lên cũng không có thời gian Online để share.
đa số tình trạng bi drop data là do các bạn xài Muweb free. mà hàng free thì dân Vn nhà mình là rất chuộng.
Thôi không dài dòng. bây giờ vào chủ để chính luôn.
Sau dây là code file anty :
<?
function dk_check() {
$badchars = array("--shutdown","-",";","';","'","*","/"," \ ","DROP", "SELECT", "UPDATE", "DELETE", "drop", "select", "update", "delete", "WHERE", "where", "-1", "-2", "-3","-4", "-5", "-6", "-7", "-8", "-9","--",);
foreach ($_GET as $string)
{
if (strlen($string) > 10 or in_array($string, $badchars)) {
echo"Anti by [DK] - Share by KunKuTe.";
$Date = date("F jS Y, h:iA");
$Date1 = $Date1 = date("F_jS_Y");
$user_ip =
(getenv(<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>))
? getenv(<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)
: getenv(REMOTE_ADDR);
$user_browser = $<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
$file = "sql.php";
$fp = fopen($file, "a+");
fputs ($fp, "<br>Date: $Date <br> IP: $user_ip <br>user:[$string] <br>
-----------------------------------------------------------
");
fclose($fp);
exit();
}
}
return $string;
}
dk_check();
?>
Còn đây là code file sql_check :
<?php
// Anti-SQL Injection
function check_inject()
{
$badchars = array("--shutdown","-",";","'","*","/"," \ ","DROP", "SELECT", "UPDATE", "DELETE", "drop", "select", "update", "delete", "WHERE", "where", "-1", "-2", "-3","-4", "-5", "-6", "-7", "-8", "-9","--",);
foreach($_GET as $value)
{
$value = clean_variable($value);
if(in_array($value, $badchars))
{
die("Lolz\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']);
}
else
{
$check = preg_split("//", $value, -1, PREG_SPLIT_OFFSET_CAPTURE);
foreach($check as $char)
{
if(in_array($char, $badchars))
{
die("Lolz\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']);
}
}
}
}
}
function clean_variable($var)
{
$newvar = preg_replace('/[^a-zA-Z0-9\_\-]/', '', $var);
return $newvar;
}
include('dkanti.php');
?>
CÒn đây là code file đang ky đã tich hợp anty :
<?php
require 'config.php';
include_once('sql_check.php');
check_inject();
$msconnect=mssql_connect("$dbhost","$dbuser","$dbpasswd");
$msdb=mssql_select_db("MuOnline",$msconnect);
$ps_loginname = stripslashes($_GET['ps_loginname']);
$ps_name = stripslashes($_GET['ps_name']);
$ps_email = stripslashes($_GET['ps_email']);
$ps_person_id = stripslashes($_GET['ps_person_id']);
$ps_password = stripslashes($_GET['ps_password']);
$ps_repassword = stripslashes($_GET['ps_repassword']);
$ps_password2 = stripslashes($_GET['ps_password2']);
$ps_repassword2 = stripslashes($_GET['ps_repassword2']);
$ps_recquest = stripslashes($_GET['ps_recquest']);
$ps_recans = stripslashes($_GET['ps_recans']);
if ((eregi("[^a-zA-Z0-9_-]",$ps_loginname)) || (eregi("[^a-zA-Z0-9_-]", $ps_name)) ||
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
(eregi("[^a-zA-Z0-9_-]", $ps_person_id)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_password)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_repassword)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_password2)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_repassword2)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_recquest)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_recans)) )
{
echo "Không được sử dụng ký tự đặc biệt"; exit();
}
$msconnect=mssql_connect("$dbhost","$dbuser","$dbpasswd");
$msdb=mssql_select_db("MuOnline",$msconnect);
$sql_email_check = mssql_query("SELECT mail_addr FROM MEMB_INFO WHERE mail_addr='$ps_email'");
$sql_username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$ps_loginname'");
$email_check = mssql_num_rows($sql_email_check);
$username_check = mssql_num_rows($sql_username_check);
if (empty($ps_loginname) || empty($ps_name) || empty($ps_email) || empty($ps_person_id) || empty($ps_password) || empty($ps_repassword) ||empty($ps_password2) || empty($ps_repassword2) || empty($ps_recquest) || empty($ps_recans) ) {
echo "Bạn cần ghi đầy đủ vào ô còn trống "; exit();
}
elseif (($email_check > 0) || ($username_check > 0)){
if($email_check > 0){
echo "Địa chỉ email này đã được sử dụng"; exit();
}
if ($username_check > 0){
echo "Tên đăng nhập đã được sử dụng."; exit();
}
}
elseif ($ps_password != $ps_repassword) {
echo "Mật khẩu cấp 1 không khớp nhau"; exit();
}
elseif ($ps_password2 != $ps_repassword2) {
echo "Mật khẩu cấp 2 không khớp nhau"; exit();
}
if ($Error!=1){
$msquery1 = "SET IDENTITY_INSERT MEMB_INFO ON";
$msquery2 = "INSERT INTO MEMB_INFO (memb__pwd2,memb___id,memb__pwd,memb_name,sno__num b,mail_addr,appl_days,modi_days,out__days,true_day s,mail_chek,bloc_code,ctl1_code,fpas_ques,fpas_ans w,tien) VALUES ('$ps_password2','$ps_loginname','$ps_password','$ ps_name', '111111111111','$ps_email','01/01/2007','01/01/2007','01/01/2007','01/01/2007','1','0','0','$ps_recquest','$ps_recans','0')";
$msquery3 = "INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name ,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_ Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('2007','1',1234,'$ps_loginname','$ps_name',1,'7', '6','3','6','6','2007-2-27 10:36:00','0' )";
//$msresults= mssql_query($msquery1);
$msresults= mssql_query($msquery2);
$msresults= mssql_query($msquery3);
echo "ok";exit();
}?>
P/s : nguồn từ Bro DH. share by KúnKuTe
Lưu ý : anh em chơi muweb 0.8 thì chú ý cái dòng in đậm của anty với sql_check mà tịch hợp cho cái reg acc muweb 0.8. vì máy này tự nhiên không đổi màu chữ đc. Mod edit dùm thành mày đỏ cho em với :haha:
Qua nhìu ngày vưa rồi. mình nhận thấy hầu hết các Muweb Free cho Online đều bị hacker hack drop data. hum nay mình share code chống drop data cho MUWeb ngôn ngữ Php. mấy ngày vừa rồi do bận thi cử lên cũng không có thời gian Online để share.
đa số tình trạng bi drop data là do các bạn xài Muweb free. mà hàng free thì dân Vn nhà mình là rất chuộng.
Thôi không dài dòng. bây giờ vào chủ để chính luôn.
Sau dây là code file anty :
<?
function dk_check() {
$badchars = array("--shutdown","-",";","';","'","*","/"," \ ","DROP", "SELECT", "UPDATE", "DELETE", "drop", "select", "update", "delete", "WHERE", "where", "-1", "-2", "-3","-4", "-5", "-6", "-7", "-8", "-9","--",);
foreach ($_GET as $string)
{
if (strlen($string) > 10 or in_array($string, $badchars)) {
echo"Anti by [DK] - Share by KunKuTe.";
$Date = date("F jS Y, h:iA");
$Date1 = $Date1 = date("F_jS_Y");
$user_ip =
(getenv(<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>))
? getenv(<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)
: getenv(REMOTE_ADDR);
$user_browser = $<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
$file = "sql.php";
$fp = fopen($file, "a+");
fputs ($fp, "<br>Date: $Date <br> IP: $user_ip <br>user:[$string] <br>
-----------------------------------------------------------
");
fclose($fp);
exit();
}
}
return $string;
}
dk_check();
?>
Còn đây là code file sql_check :
<?php
// Anti-SQL Injection
function check_inject()
{
$badchars = array("--shutdown","-",";","'","*","/"," \ ","DROP", "SELECT", "UPDATE", "DELETE", "drop", "select", "update", "delete", "WHERE", "where", "-1", "-2", "-3","-4", "-5", "-6", "-7", "-8", "-9","--",);
foreach($_GET as $value)
{
$value = clean_variable($value);
if(in_array($value, $badchars))
{
die("Lolz\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']);
}
else
{
$check = preg_split("//", $value, -1, PREG_SPLIT_OFFSET_CAPTURE);
foreach($check as $char)
{
if(in_array($char, $badchars))
{
die("Lolz\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']);
}
}
}
}
}
function clean_variable($var)
{
$newvar = preg_replace('/[^a-zA-Z0-9\_\-]/', '', $var);
return $newvar;
}
include('dkanti.php');
?>
CÒn đây là code file đang ky đã tich hợp anty :
<?php
require 'config.php';
include_once('sql_check.php');
check_inject();
$msconnect=mssql_connect("$dbhost","$dbuser","$dbpasswd");
$msdb=mssql_select_db("MuOnline",$msconnect);
$ps_loginname = stripslashes($_GET['ps_loginname']);
$ps_name = stripslashes($_GET['ps_name']);
$ps_email = stripslashes($_GET['ps_email']);
$ps_person_id = stripslashes($_GET['ps_person_id']);
$ps_password = stripslashes($_GET['ps_password']);
$ps_repassword = stripslashes($_GET['ps_repassword']);
$ps_password2 = stripslashes($_GET['ps_password2']);
$ps_repassword2 = stripslashes($_GET['ps_repassword2']);
$ps_recquest = stripslashes($_GET['ps_recquest']);
$ps_recans = stripslashes($_GET['ps_recans']);
if ((eregi("[^a-zA-Z0-9_-]",$ps_loginname)) || (eregi("[^a-zA-Z0-9_-]", $ps_name)) ||
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
(eregi("[^a-zA-Z0-9_-]", $ps_person_id)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_password)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_repassword)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_password2)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_repassword2)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_recquest)) ||
(eregi("[^a-zA-Z0-9_-]", $ps_recans)) )
{
echo "Không được sử dụng ký tự đặc biệt"; exit();
}
$msconnect=mssql_connect("$dbhost","$dbuser","$dbpasswd");
$msdb=mssql_select_db("MuOnline",$msconnect);
$sql_email_check = mssql_query("SELECT mail_addr FROM MEMB_INFO WHERE mail_addr='$ps_email'");
$sql_username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$ps_loginname'");
$email_check = mssql_num_rows($sql_email_check);
$username_check = mssql_num_rows($sql_username_check);
if (empty($ps_loginname) || empty($ps_name) || empty($ps_email) || empty($ps_person_id) || empty($ps_password) || empty($ps_repassword) ||empty($ps_password2) || empty($ps_repassword2) || empty($ps_recquest) || empty($ps_recans) ) {
echo "Bạn cần ghi đầy đủ vào ô còn trống "; exit();
}
elseif (($email_check > 0) || ($username_check > 0)){
if($email_check > 0){
echo "Địa chỉ email này đã được sử dụng"; exit();
}
if ($username_check > 0){
echo "Tên đăng nhập đã được sử dụng."; exit();
}
}
elseif ($ps_password != $ps_repassword) {
echo "Mật khẩu cấp 1 không khớp nhau"; exit();
}
elseif ($ps_password2 != $ps_repassword2) {
echo "Mật khẩu cấp 2 không khớp nhau"; exit();
}
if ($Error!=1){
$msquery1 = "SET IDENTITY_INSERT MEMB_INFO ON";
$msquery2 = "INSERT INTO MEMB_INFO (memb__pwd2,memb___id,memb__pwd,memb_name,sno__num b,mail_addr,appl_days,modi_days,out__days,true_day s,mail_chek,bloc_code,ctl1_code,fpas_ques,fpas_ans w,tien) VALUES ('$ps_password2','$ps_loginname','$ps_password','$ ps_name', '111111111111','$ps_email','01/01/2007','01/01/2007','01/01/2007','01/01/2007','1','0','0','$ps_recquest','$ps_recans','0')";
$msquery3 = "INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name ,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_ Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('2007','1',1234,'$ps_loginname','$ps_name',1,'7', '6','3','6','6','2007-2-27 10:36:00','0' )";
//$msresults= mssql_query($msquery1);
$msresults= mssql_query($msquery2);
$msresults= mssql_query($msquery3);
echo "ok";exit();
}?>
P/s : nguồn từ Bro DH. share by KúnKuTe
Lưu ý : anh em chơi muweb 0.8 thì chú ý cái dòng in đậm của anty với sql_check mà tịch hợp cho cái reg acc muweb 0.8. vì máy này tự nhiên không đổi màu chữ đc. Mod edit dùm thành mày đỏ cho em với :haha: