PDA

View Full Version : [ĐKVS]Mã hóa md5 mật khẩu tăng tính bảo mật



kunyeudung
05-01-13, 09:40 PM
Nhiều bạn đang sử dụng web của vudung

Như mình rọc code thì không sử dụng 1 hàm bảo vệ nào hết. Đơn thuần là code đơn giản. Nếu mở online. Thì view source cũng lòi ra pass

Ngoài ra có thể tránh SQL injection



account:"account",psw:"5de392c28bad5d17bf9a37d474c23987"


Đây là 1 đoạn script khi vào server và view source.

Đoạn pass đã được mã hóa md5. Thông thường thì nó sẽ hiện ra chữ

Mình sẽ hưởng dẫn bạn thực hiện với 2 file. Là file login.php và file reg.php của vudung.

Hàm mà mình sử dụng để bảo mật, gồm 2 hàm
Hàm addslashes() và hàm md5()

Hàm addslashess() để tránh SQL ịnection
Hàm md5() dùng để mã hóa mật khẩu

Không đụng gì đến Database nhé ;)

Bắt đầu thôi

Đầu tiên là file login.php

Chú ý đến 2 dòng này hoặc bạn có thể tự thay thế



$username = $_POST['username'] or $_COOKIE['username'];
$password = $_POST['password'] or $_COOKIE['password'];


Thay bằng



$username = addslashes( $_POST['username']) or $_COOKIE['username'];
$password = md5( addslashes( $_POST['password']) ) or $_COOKIE['password'];


Xong file login. Sau khi thay thì chỉ pass md5 mới có thể sử dụng. Mọi tài khoản sẽ vô hiệu lực.

Tiếp theo là file register

Tìm


$username = $_POST['username'] ;
$password = $_POST['password'] ;
$repeat = $_POST['repassword'];
$mail= $_POST ['email'];


Thay bằng



$username = addslashes( $_POST['username'] );
$password = md5( addslashes( $_POST['password'] ) );
$repeat = md5( addslashes( $_POST['repassword']) );
$mail= addslashes( $_POST ['email']);


Làm xong rồi tự reg lại 1 acc khác rồi vào và view source để xem kết quả nhé

Nếu thấy hữu ích thì thanks cho mình 1 cái :D

Y!M: kun.pitz

|Rick|
05-01-13, 10:21 PM
Thêm đoạn salt này vào thì thánh phồng tôm cũng phải thua ;))



function vbrand($min = 0, $max = 0, $seed = -1)
{
mt_srand(crc32(microtime()));

if ($max AND $max <= mt_getrandmax())
{
$number = mt_rand($min, $max);
}
else
{
$number = mt_rand();
}
mt_srand();

return $number;
}

function fetch_user_salt($length = 30)
{
$salt = '';
for ($i = 0; $i < $length; $i++)
{
$salt .= chr(vbrand(33, 126));
}
return $salt;
}

hai07dv
05-01-13, 11:51 PM
Mã hóa thêm cái account thì dùng cái này chèn vô server.php
Tùy ý sửa biến $username nhé

$username=rawurlencode(base64_encode($username));

Oh mà cái này đúng không ta :D...cái này lấy từ web trung quốc

kunyeudung
06-01-13, 12:21 AM
Mã hóa user làm gì ta :D
30 chả cá

mrsmith59
06-01-13, 07:51 AM
Chưa thấy bác nào làm thay đổi mật khẩu nhể\:D/\:D/\:D/

bachugacon122
06-01-13, 08:17 AM
Chưa thấy bác nào làm thay đổi mật khẩu nhể\:D/\:D/\:D/

là sao bác
nếu mún cover pass từ table qua mb5 thì viết 1 trang truy xuất ra rùi cover qua md5 rùi update lại là dc mà
lúc trươc có làm

kunyeudung
06-01-13, 08:29 AM
Chưa thấy bác nào làm thay đổi mật khẩu nhể\:D/\:D/\:D/


Mình sẽ sớm share các đoạn php. Cho bạn tự viết vào web :D

mrsmith59
06-01-13, 08:29 AM
là sao bác
nếu mún cover pass từ table qua mb5 thì viết 1 trang truy xuất ra rùi cover qua md5 rùi update lại là dc mà
lúc trươc có làm

ý em môusn cho nó đồng bộ vs table player

kunyeudung
06-01-13, 08:33 AM
là sao bác
nếu mún cover pass từ table qua mb5 thì viết 1 trang truy xuất ra rùi cover qua md5 rùi update lại là dc mà
lúc trươc có làm


Chức năng thay đổi mật khẩu bạn à :D

--- Chế độ gộp bài viết ---


ý em môusn cho nó đồng bộ vs table player

Cái này chỉ mã hóa pass. Không liên quan gì tới table player. Thì đồng bộ cái gì nhỉ?

mrsmith59
06-01-13, 08:35 AM
Chức năng thay đổi mật khẩu bạn à :D

--- Chế độ gộp bài viết ---



Cái này chỉ mã hóa pass. Không liên quan gì tới table player. Thì đồng bộ cái gì nhỉ?
sr hơi lạc chủ đề. bài này thì viết mã hoá ko nói rồi,

kunyeudung
06-01-13, 08:40 AM
sr hơi lạc chủ đề. bài này thì viết mã hoá ko nói rồi,


Không sao cả bạn ơi. Mà ý của bạn là thế nào thế?

mrsmith59
06-01-13, 08:48 AM
Không sao cả bạn ơi. Mà ý của bạn là thế nào thế?

Thế này bạn à.
Làm thay đổi mật khẩu thì thay đổi ở table account (theo web của vudung ).
Nhưng khi load game, nó lại kiểm tra table player, nếu khác pass thì cho lập nhân vật mới (khựa khựa)

Mình tính đến giải pháp là khi thay đổi pass thì cập nhật luôn cái player nữa, tức là update 2 bảng. Nhưng mà thấy chuối chuối.
Ai có cao kiến gì ko?#-o#-o#-o

kunyeudung
06-01-13, 08:49 AM
Thế này bạn à.
Làm thay đổi mật khẩu thì thay đổi ở table account (theo web của vudung ).
Nhưng khi load game, nó lại kiểm tra table player, nếu khác pass thì cho lập nhân vật mới (khựa khựa)

Mình tính đến giải pháp là khi thay đổi pass thì cập nhật luôn cái player nữa, tức là update 2 bảng. Nhưng mà thấy chuối chuối.
Ai có cao kiến gì ko?#-o#-o#-o

Ukm. Kể cũng lạ. Mình thay pass md5 vào 1 user trc đó chưa đc mã hóa. Thì vào nó yêu cầu tạo nv mới. Bó tay

nguyen_van003
06-01-13, 08:54 AM
Cùng là người VN mà bác nói gì em chả hiểu cái mô tơ gì hết.
Hehe.
Tại ngu bên code này kinh.
Đâm ra không hiểu cái mẹt gì hết trơn.
8-}8-}

mrsmith59
06-01-13, 08:55 AM
Ukm. Kể cũng lạ. Mình thay pass md5 vào 1 user trc đó chưa đc mã hóa. Thì vào nó yêu cầu tạo nv mới. Bó tay

thế nên muốn ko phải update 2 bảng thì phải build lại flash quá

kunyeudung
06-01-13, 09:04 AM
thế nên muốn ko phải update 2 bảng thì phải build lại flash quá


Nếu hiểu thì cũng không cần build lại. Bạn có web nào của tàu hay đăng tải nội dung của DKVS không. Cho mình xin mình sang tìm xem có code mẫu nào ko :D

vudung
06-01-13, 09:38 AM
md5("fuckhacker.$input");

Em con gà :( Đừng gạch em :))