Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vệ sinh đầu vào nhưng đầu ra không như mong đợi

Đề xuất của tôi là xây dựng một chức năng để làm sạch tất cả các đầu vào văn bản của bạn và một chức năng để kiểm tra tất cả các đầu ra của bạn đến từ cơ sở dữ liệu hoặc bất kỳ nguồn nào khác, như sau:

<?php
// filter for user input
function filterInput($content)
{
    $content = trim($content);
    $content = stripslashes($content);

    return $content;
}

//filter for viewing data
function filterOutput($content)
{
    $content = htmlentities($content, ENT_NOQUOTES);
    $content = nl2br($content, false);

    return $content;
}

tùy thuộc vào chiến lược của bạn, bạn có thể thêm các tính năng bổ sung vào bộ lọc hoặc xóa một số. Nhưng những gì bạn có chức năng ở đây đủ để bảo vệ bạn khỏi XSS.

CHỈNH SỬA: ngoài chức năng trên, câu trả lời này cũng có thể có liên quan trong một phần của việc bảo vệ trang web của bạn.

Tham khảo các phương pháp khác nhau:

Bạn cũng nên xem các liên kết sau:

Và quan trọng là bạn nên biết về 10 rủi ro hàng đầu và tìm hiểu thêm về nó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của hàm FROM_BASE64 () trong MySQL

  2. không thể tải thư viện của nhà cung cấp libmysql.dll hoặc libmysqld.dll

  3. Mysql count so với mysql SELECT, cái nào nhanh hơn?

  4. Lỗi khi kết nối với Cơ sở dữ liệu trên máy chủ được lưu trữ

  5. Kiểm soát FileUpload trong studio trực quan và lưu hình ảnh vào cơ sở dữ liệu MySql