Blogs YAM

Tìm kiếm nội dung



January
3

Thay đổi cách lấy dữ liệu đầu vào $_POST & $_GET

Chuyên mục : Thủ thuật PHP - viết bởi : Tiểu Tinh


 Mọi người học và làm về PHP chắc chắn là sẽ biết 2 phương thức $_POST và $_GET .
Hiện nay đó là 2 phương thức mà nhiều người dung đến nhất .
Khi sử dụng 2 phương thức trên thì Coder sẽ đối mặt với 3 lựa chọn
+ Viết hàm để xử lý lọc dữ liệu đầu vào
+ Xử lý câu lệnh SQL để tránh rủi lo như bị Injection
+ Không làm gì để xử lý dữ liệu đầu vào cả (Haizzz …)
Nhưng kể từ PHP 5.2 trở lên thì PHP đã hỗ trợ Coder về lọc dữ liệu đầu vào .
Có thể là sau này bạn sẽ thay đổi cách lấy dữ liệu đầu vào .
Thay vì dùng 2 phương thức $_POST và $_GET bạn hãy dùng :
filter_input()

mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )
 

filtet_input : Có 2 chức năng
+ Lọc dữ liệu đầu vào
+Kiểm tra kiểu dữ liệu đầu vào
- Lọc dữ liệu đầu vào :

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_UNSAFE_RAW);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>

 

Các cách lọc dữ liệu 
- FILTER_SANITIZE_EMAIL: lọc dữ giá trị Email, loại bỏ các ký hiệu không có trong 1 địa chỉ Email
- FILTER_SANITIZE_ENCODED : Mã hóa các ký tự Unicode
- FILTER_SANITIZE_MAGIC_QUOTES : Như addslashes()
- FILTER_SANITIZE_NUMBER_FLOAT : Loại bỏ tất cả các ký tự ngoài “+-.”
- FILTER_SANITIZE_NUMBER_INT : Loại bỏ tất cả các ký tự ngoài “+-”
- FILTER_SANITIZE_SPECIAL_CHARS :HTML-Escape ‘”<> và các ký tự có mã ASCII dưới 32
- FILTER_SANITIZE_STRING : Loại bỏ hoặc mã hóa các ký tự đặc biệt (mixed options)
- FILTER_SANITIZE_STRIPPED : Như filter “string”
- FILTER_SANITIZE_URL : Loại bỏ tất cả những ký tự ngoài ký tự,số và $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
- FILTER_UNSAFE_RAW : Không làm gì cả, Tùy chọn loại bỏ hoặc mã hóa các ký hiệu đặc biệt

- Validate dữ liệu : 
- FILTER_VALIDATE_BOOLEAN : Trả về true nếu giá trị là “1”,“true”, “on” và “yes”
- FILTER_VALIDATE_EMAIL : Validate Email – Trả về giá trị là Email nếu đúng
- FILTER_VALIDATE_FLOAT : Validate giá trị float
- FILTER_VALIDATE_INT : Validate Integer
- FILTER_VALIDATE_IP : Validate IPv4 và IPv6
- FILTER_VALIDATE_REGEXP : Validate theo biểu thức hợp quy
- FILTER_VALIDATE_URL : Validate URL
Tham khảo thêm tại :
- Function : filter_input()
Types of Filters


Download file Test và File word :
Download

 


Ý kiến / Bình luận
Gửi bình luận






Gửi ý kiến

Chuyên mục

Xem nhiều nhất

Bài viết nổi bật

Xem bài viết theo tháng

Danh sách Tags