• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Flood là gì, và cách phòng chống

Admin

Well-Known Member
Staff member
Administrator
Flood là gì..có nhiều bạn
sẽ hỏi vậy
Khi bạn thiết kế một
FORM để nhập dữ liệu,
thì bất kỳ ai cũng có thể
view sources để xem
cấu trúc HTML của FORM
bạn thiết kế, vì vậy nếu
site bạn không chống
flood, hackers có thể dễ
dàng flood site bạn, làm
DB của bạn có thể bị
tràn ngập và xuất hiện
nhiều dữ liệu dư
thừa...tức là có thể hiểu
flood là làm tràn ngập
dữ liệu
nói ngắn gọn cách thứ
như sau, ở đây hướng
dẫn sử dụng theo
session
Tạo 1 file PHP tên là
anti_flood.php, với code
sau:
PHP:
<?php
session_start();
$timeout = 60;
$session_name =
"action_time";
if ( isset($_SESSION["{$
session_name}"]) && ( $
_SESSION["{$session_
name}"] >= time() - $
timeout ) )
{
print "Làm ơn đợi {$
timeout} giây rồi quay
lại kiếm tôi nhé";
return false;
}
$_SESSION["{$session_
name}"] = time();
?>
Giải thích:
Dòng thứ 3 dùng
session_start() để khởi
động dữ liệu của
session (Phiên làm việc).
Dòng kế tiếp là để thiết
lập thời gian cho một
session, mặc định là 60
giây.
Dòng tiếp theo là $
session_name, đơn giản
chỉ là đặt tên cho
session.
Dòng tiếp theo nữa là
để kiểm tra thời gian
của phiên làm việc
trước đó (nếu trước đó
có một session đã thực
hiện và session đó phải
lớn hơn hoặc bằng thời
gian hiện tại trừ cho
thời gian thiết lập cho
mổi session).
+ Điều đó có nghĩa là
nếu session đã thực
hiện trước đó (session
thứ 1) chỉ cách session
thứ 2 dưới 60 giây (đây
là thời gian do bạn qui
định: $timeout = 60) thì
sẽ được xét vào dạng
Flood data, và ngược lại
thì sẽ cho qua và xác
nhận hợp lệ.
Và dòng cuối cùng là
thiết lập thời gian "hiện
tại" cho session "hiện
tại".
Có 2 cách để sử dụng
đoạn code trên:
Cách 1: Load trực tiếp
file anti_flood.php, áp
dụng cho site có 1 FORM
cần chống flood.
PHP:
<?php
require_once("anti_
flood.php");
?>
Cách 2: Là copy trực
tiếp đoạn code trên rồi
sửa lại tên session để
dễ phân biệt cho site có
nhiều FORM cần chống
flood:
PHP:
<?php
require_once("anti_
flood.php");
?>
Ai thấy hay thanks nhé
 

Facebook Comments

New posts New threads New resources

Back
Top