PDA

View Full Version : [JX] Share source đăng ký web bằng PHP



dnytz
05-06-12, 07:44 PM
Chào mấy bác, mình không rành về làm jx server nhưng biết chút đỉnh về PHP :D Lúc trước cũng có dọc một chút với jx server nhưng cũng không biết gì nhiều. Giờ thấy hứng nên dọc lại. Download được cái server của bác thaihoa post nên setup chạy cho mọi người vào chơi cho vui. Mình có cái Windows server chạy để đó không làm gì nhiều nên giờ chạy thêm cái jx server cho mọi người vào chơi.

Mình cũng có viết một đoạn code php ngắn để đăng ký account trên web nên share ở đây luôn. mình vừa tìm cách install mssql cho php, vừa mò mấy hàm sql và vừa làm trang web trong vòng 2 tiếng đồng hồ nên phần php code viết gấp rút để đưa lên test :D Mình sẽ hoàn thiện phần code lại sau như là chức năng đổi password, gửi password vào email này kia :D

Sẳn tiện giới thiệu luôn server của mình. Mình chỉ setup và run thôi chứ hông có dev gì hết. Mấy bác vào vừa test cái php code vừa vào chơi luôn :D Server sẽ được chạy lâu dài 24/24 vì mình có cái windows server cho công việc .

Vào volam.tuoitho.net để download patch hay mấy bác có client của Minh Đăng sẳn rồi thì vào IP 66.90.73.45

Đoạn PHP code để đăng ký account. Mình sẽ chỉ cách install mssql cho PHP sau.



<?php

$server = '66.90.73.45';
$username = 'sa';
$passwrod = 'pasword';

$action = $_REQUEST['action'];

if ($action == 'dangky')
{
$account = $_POST['account'];
$acount = str_replace(" ", "", $acount);
$account = ms_escape_string($account);

$email = $_POST['email'];
$email = str_replace(" ", "", $email);
$email = ms_escape_string($email);

$password1 = $_POST['password1'];
$password1 = str_replace(" ", "", $password1);
$password1 = ms_escape_string($password1);


$password2 = $_POST['password2'];
$password2 = str_replace(" ", "", $password2);
$password2 = ms_escape_string($password2);

echo '<h1>Đăng ký account</h1><form method="POST" action="?action=dangky">
<p>Ten account: <br>
<input type="text" name="account" size="28" value="'.$account.'"></p>
<p>Email:<br>
<input type="text" name="email" size="28" value="'.$email.'"></p>
<p>Password 1:<br>
<input type="text" name="password1" size="28" ></p>
<p>Passwoed 2:<br>
<input type="text" name="password2" size="28" ></p>
<p><input type="submit" value="Submit" name="submit"></p>
</form>';



if ($_POST['submit'] && preg_match('#^[a-z0-9]+$#i', $account) && $email && $password1 && $password2)
{

//Check tai khoan
mssql_connect($server, $username, $passwrod);
mssql_select_db("account");

$sql = "select [cAccName] from [Account_Info] WHERE [cAccName] = '$account'";
$result = mssql_query($sql);
$row = mssql_fetch_row($result);

if ($row[0] != '')
{
echo '<b><font color=red>Tên account này đã có người đăng ký</font></b>';
}else{

$password1 = strtoupper(md5($password1));
$password2 = strtoupper(md5($password2));


$sql = "INSERT INTO [Account_Info] ([cAccName], [cPassWord], [cSecPassWord], [cEMail], [cRealName]) VALUES ('$account', '$password1', '$password2', '$email', 'name')";
$result = mssql_query($sql);

$sql = "INSERT INTO [Account_Habitus] ([cAccName], [dEndDate]) VALUES ('$account', '6/5/2022 5:31:12 PM')";
$result = mssql_query($sql);

echo '<b><font color=green>Đăng ký thành công</font></b>';
}


}else{
echo 'Bạn hãy điền vào tất cả các ô. Tên account không được xài ký tự đặc biệt';
}
}




$account = $_POST['account'];
$acount = str_replace(" ", "", $acount);
$account = ms_escape_string($account);

$password = $_POST['password'];
$password = str_replace(" ", "", $password);
$password = ms_escape_string($password);

if ($action == 'login' && $account && $password)
{
echo '<h1>My Account</h1><br>';

mssql_connect($server, $username, $passwrod);
mssql_select_db("account");

$sql = "select [cRealName], [cPassWord] from [Account_Info] WHERE [cAccName] = '$account'";
$result = mssql_query($sql);
$row = mssql_fetch_row($result);

$password = strtoupper(md5($password));
if ($password == $row[1])
{
echo 'Password ok. Phan nay se duoc update sau';
}else{
echo 'Sai password';
}

//print $row[1]."\n";
}

if ($action == '')
{


echo '<form method="POST" action="?action=login">
<p>Account: <input type="text" name="account" size="20">&nbsp; Password:
<input type="password" name="password" size="20">
<input type="submit" value="Login" name="B1"></p>
</form><br> <a href="?action=dangky"><b>Đăng Ký Account</b></a> | <a href=""><b>Quên Mật Khẩu</b></a> <br><br>';


}




function ms_escape_string($data) {
if ( !isset($data) or empty($data) ) return '';
if ( is_numeric($data) ) return $data;

$non_displayables = array(
'/%0[0-8bcef]/', // url encoded 00-08, 11, 12, 14, 15
'/%1[0-9a-f]/', // url encoded 16-31
'/[\x00-\x08]/', // 00-08
'/\x0b/', // 11
'/\x0c/', // 12
'/[\x0e-\x1f]/' // 14-31
);
foreach ( $non_displayables as $regex )
$data = preg_replace( $regex, '', $data );
$data = str_replace("'", "''", $data );
return $data;
}
?>

[B.M.W]Sports
05-06-12, 08:44 PM
test xem ok ko nhé !

duongbaho
10-06-12, 08:59 PM
cái phần code đó để vào đâu trong sever bạn

notfile
10-06-12, 09:18 PM
có sợ Injection SQL không bác !

hackervnk
10-06-12, 10:00 PM
:-s chủ topic xin cái yahoo,,,,,,,,,,,,,,,,,,,,,,,,

dnytz
10-06-12, 11:28 PM
có sợ Injection SQL không bác !

cai function ms_escape_string là dùng để chống injection đó bạn . Nhưng bỏ mssql vô php cũng hơi rắc rối à . Chạy trên Linux thì phải làm php lại từ source để thêm vô mssql . Nếu chạy windows chắc xài asp sẽ dễ hơn

Mình ít lên yahoo lắm cò gì hỏi ở đây luôn đi :D

neverbestboy
10-06-12, 11:32 PM
cai function ms_escape_string là dùng để chống injection đó bạn . Nhưng bỏ mssql vô php cũng hơi rắc rối à . Chạy trên Linux thì phải làm php lại từ source để thêm vô mssql . Nếu chạy windows chắc xài asp sẽ dễ hơn

Mình ít lên yahoo lắm cò gì hỏi ở đây luôn đi :D
Cái đó hình như ( mình chỉ đoán thôi nhé ) là cách .. giấu lỗi injection chứ có phải chống đâu nhỉ ?? _ _!

kenthp
22-07-12, 04:20 PM
<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>
Cuối cùng thanks for share ! code web !