09/10/2018, 23:09

làm security number???

cách nào hiệu quả nhất dza6y, thanks
amida viết 01:13 ngày 10/10/2018
PHP Code:
 <?
  // của anh scripter, viết lại thôi
  // có thể thêm vào gd ..v..v
  $sec_code = substr(md5(time()), 0 ,5);
  echo $sec_code;
 ?>
kid08 viết 01:13 ngày 10/10/2018
dùng thư viện gd của PHP để tạo ảnh là tốt nhất
NDThuan viết 01:23 ngày 10/10/2018
một cách đơn giản mà nhanh hơn
- cần có ảnh của các số, ví dụ 0.gif, 1.gif...
- tạo một số ngẫu nhiên: rand(10000, 99999)
- Duyệt lần lượt các chữ số trong số ngẫu nhiên đó để hiện img
zeroonea viết 01:23 ngày 10/10/2018
ok, chắc tôi nói ngắn gọn quá nên mấy bạn ko hiểu ý tôi nhỉ,
làm 1 hàm
$sn=rand(100000,999999);
là được roài nhưng sao truyền tới file được action, ví dụ form tui action tới file register.php
làm sao truyền giá trị $sn để kiểm tra cùng với số mà user đã nhập vào, nếu dùng hidden input để post lun or cho dzo6 url kiểu login.php?sn=657982 thì dễ phá quá có thể chơi 1 vòng lặp là đầy data.
amida viết 01:20 ngày 10/10/2018
- Dùng session để lưu lại rồi check cũng ok
- Hoặc lưu vào db để check
zeroonea viết 01:19 ngày 10/10/2018
nếu dùng session lưu lại thì khi mở trang register.php lần 1 thì ví dụ:
$_SESSION['sn']=245312; mình sẽ echo nó ra cho user nhập dzô.
nếu ta ko dùng trang đó mà mở tiếp trang thứ 2 register.php thì $_SESSION['sn'] nhận giá trị mới, nếu lúc này quay lại trang đầu đăng ký thì dù nhập đúng security number thì khi check sn trên server thì nó vẫn báo sai.
còn lưu vào db thì query làm sao đây, điều kiện (where) thế nào để moi ra được cái sn đã lưu
kid08 viết 01:20 ngày 10/10/2018
dùng session và thư viện gd của php như đã nói là cách tốt nhất đây là cho các form quan trọng như register còn các form khác bạn có thể dùng 2 cách là kiểm tra time giữa 2 lần send request và dùng session để kiểm tra chống flood
zeroonea viết 01:09 ngày 10/10/2018
cho sample được ko cho sample được kob cho sample được kob
amida viết 01:21 ngày 10/10/2018
Có vẻ cách đó phức tạp hả? Thấy đơn giản mà. Nếu flood prevention thì dùng cách đơn giản nhất nàh
PHP Code:
 <?
 @session_start();
 $_SESSION***91;"send"***93; = true; // Đặt đầu form
 ....
 if(isset($_SESSION***91;"send"***93;)) {
 ... // xử lí ở đây
 }
 else {
   echo "No flooding";
  }
   unset($_SESSION***91;"send"***93;)
 ?>
Bài liên quan
0