Lỗi bảo mật với register_globals trong PHP

Nếu cấu hình của server : register_gobals = On thì có thể sẽ dẫn đến 1 lỗi bảo mật sau,
Giả sử file index.php có nội dung như sau:
<?php
if($root){
print
"Value: $root";
}
?>

nếu ta gọi: index.php thì không có gì xảy ra, nhưng khi gọi index.php?root=2 thì kết quả in ra sẽ là : Value: 2 điều này có nghĩa là biến root có thể thay  đổi từ url-> sẽ nguy hiểm cho lỗi bảo mật
Ví dụ:
<?php
if($permission){
//thực hiện quyền admin
}
?>
như vậy bất kỳ ai cũng có thể truy cập vào quyền admin nếu sử dụng cách đã nó ở trên.
Cách khác phục của trường hợp này: 2 cách,
1. cấu hình server register_globals = OFF
2. định nghĩa biến $root trước
<?php
$root
= 0;
if(
$root){
print
"Value: $root";
}
?>

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: