Php có cơ sở dữ liệu không?

Xác thực dữ liệu là một phần không thể thiếu trong quá trình phát triển web, đặc biệt là khi làm việc với các biểu mẫu mà người dùng nhập dữ liệu cá nhân của họ trước rồi gửi dữ liệu đó đến cơ sở dữ liệu. Dữ liệu được gửi ở định dạng không hợp lệ có thể gây ra sự cố bảo mật DBMS. Tin tặc thường sử dụng SQL injection để chèn các lệnh SQL độc hại vào cơ sở dữ liệu. Việc tiêm SQL thậm chí có thể phá hủy cơ sở dữ liệu sau khi được chèn. Do đó, để bảo vệ cơ sở dữ liệu khỏi tin tặc, cần phải vệ sinh và lọc dữ liệu do người dùng nhập trước khi gửi vào cơ sở dữ liệu

Hãy lấy một ví dụ về SQL injection để làm rõ mọi thứ

Giả sử tin tặc nhập '5=5' vào hộp nhập 'Tên người dùng' rồi gửi dữ liệu. Điều kiện '5=5' luôn đúng. Do đó, lệnh SQL sẽ được thực thi sau khi nhấn nút ‘Gửi’ sẽ là

SELECT * FROM registration WHERE UserId = 105 OR 1=1;

Lệnh SQL trên không có lỗi và do đó máy chủ MySQL sẽ thực thi nó. Nhưng, nếu bảng đăng ký chứa thông tin nhạy cảm như thông tin thẻ tín dụng hoặc mật khẩu thì sao?. Tin tặc có thể lấy thông tin về tất cả người dùng đã đăng ký chỉ bằng cách nhập '5=5' vào hộp nhập tên người dùng và sau đó lạm dụng thông tin đó

Để ngăn những trường hợp như vậy xảy ra, cần phải xác thực và làm sạch dữ liệu người dùng.
Hàm

GeeksforGeeks Portal
3 được sử dụng cho mục đích đó. Hàm này thường nhận hai tham số. Đầu tiên là biến cần được xác thực và thứ hai là loại kiểm tra chúng tôi muốn thực hiện trên biến đó.

Chúng ta hãy xem xét một số loại kiểm tra cùng với các ví dụ của chúng

  1. Vệ sinh chuỗi – FILTER_SANITIZE_STRING. Thao tác này sẽ xóa tất cả các thẻ HTML khỏi chuỗi. Thao tác này sẽ khử trùng chuỗi đầu vào và chặn bất kỳ thẻ HTML nào xâm nhập vào cơ sở dữ liệu

    GeeksforGeeks Portal
    4

    GeeksforGeeks Portal
    5
    GeeksforGeeks Portal
    6____10
    GeeksforGeeks Portal
    1

    GeeksforGeeks Portal
    2
    GeeksforGeeks Portal
    3____95
    GeeksforGeeks Portal
    5

    GeeksforGeeks Portal
    6
    GeeksforGeeks Portal
    2
    GeeksforGeeks Portal
    1

    GeeksforGeeks Portal
    9

    đầu ra

    GeeksforGeeks Portal

    Giải thích mã.
    Biến 'geeks' trong ví dụ trên lưu trữ tiêu đề 'GeeksforGeeks Portal'. Biến 'chuyên viên máy tính' này sau đó được lọc bằng FILTER_SANITIZE_STRING. Chuỗi đã lọc sau đó được lưu trữ trong biến 'newgeek'. Sau khi lặp lại, đầu ra là 'Cổng thông tin GeeksforGeek'. Điều này là do không có thẻ HTML trong chuỗi gốc và do đó không có gì để lọc.

  2. Xác thực địa chỉ IP – FILTER_VALIDATE_IP. Bộ lọc này kiểm tra xem địa chỉ IP có hợp lệ hay không

    GeeksforGeeks Portal
    4

    GeeksforGeeks Portal
    11
    GeeksforGeeks Portal
    6
    GeeksforGeeks Portal
    13
    GeeksforGeeks Portal
    1

    GeeksforGeeks Portal
    15
    GeeksforGeeks Portal
    16
    GeeksforGeeks Portal
    11
    GeeksforGeeks Portal
    18

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    02
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04
    GeeksforGeeks Portal
    05
    GeeksforGeeks Portal
    06

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    90
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04

    GeeksforGeeks Portal
    9

    đầu ra

    GeeksforGeeks Portal
    1

    Giải thích mã.
    Địa chỉ IP được lưu trữ trong biến $ipaddr được phát hiện là hợp lệ. Nếu '126. 2. 5’ được lưu trữ trong biến $ipaddr, thì đầu ra sẽ là ‘Địa chỉ IP không hợp lệ’. Điều này là do nó không tuân theo giao thức được thiết kế cho địa chỉ IP.

  3. Vệ sinh số nguyên – FILTER_VALIDATE_INT. Bộ lọc này kiểm tra xem một biến có phải là số nguyên hay không

    GeeksforGeeks Portal
    4

    GeeksforGeeks Portal
    95
    GeeksforGeeks Portal
    96

    GeeksforGeeks Portal
    15
    GeeksforGeeks Portal
    16
    GeeksforGeeks Portal
    95
    GeeksforGeeks Portal
    90

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    94
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04
    GeeksforGeeks Portal
    05
    GeeksforGeeks Portal
    06

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    32
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04

    GeeksforGeeks Portal
    9

    đầu ra

    GeeksforGeeks Portal
    0

    Giải thích mã.
    Mã sẽ xuất ra 'Hợp lệ' nếu $num là số nguyên hợp lệ, nếu không, đầu ra sẽ là 'Không hợp lệ'. Ở đây, 500 là một số nguyên và đó là lý do tại sao đầu ra là 'Hợp lệ'.

  4. Xác thực ID email – FILTER_SANITIZE_EMAIL và FILTER_VALIDATE_EMAIL. Trước tiên, bộ lọc này sẽ xóa tất cả các ký tự không hợp lệ khỏi email, sau đó kiểm tra xem định dạng có hợp lệ hay không

    GeeksforGeeks Portal
    4

    GeeksforGeeks Portal
    37
    GeeksforGeeks Portal
    6____939
    GeeksforGeeks Portal
    1

    GeeksforGeeks Portal
    37
    GeeksforGeeks Portal
    3____937
    GeeksforGeeks Portal
    44

    GeeksforGeeks Portal
    15
    GeeksforGeeks Portal
    16
    GeeksforGeeks Portal
    37
    GeeksforGeeks Portal
    48

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    52
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04
    GeeksforGeeks Portal
    05
    GeeksforGeeks Portal
    06

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6______201
    GeeksforGeeks Portal
    60
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04

    GeeksforGeeks Portal
    9

    đầu ra

    GeeksforGeeks Portal
    9

    Giải thích mã.
    Đầu tiên, email được lưu trữ trong biến $em được làm sạch để xóa mọi ký tự không hợp lệ như ‘/>

  5. Xác thực URL – FILTER_SANITIZE_URL. Giống như bộ lọc email, trước tiên bộ lọc này cũng xóa tất cả các ký tự không hợp lệ khỏi URL và sau đó kiểm tra xem định dạng có hợp lệ hay không

    GeeksforGeeks Portal
    4

    GeeksforGeeks Portal
    65
    GeeksforGeeks Portal
    3____965______968

    GeeksforGeeks Portal
    15
    GeeksforGeeks Portal
    16
    GeeksforGeeks Portal
    65______102

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6____201
    GeeksforGeeks Portal
    06
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04
    GeeksforGeeks Portal
    05
    GeeksforGeeks Portal
    06

    GeeksforGeeks Portal
    19
    GeeksforGeeks Portal
    6______201
    GeeksforGeeks Portal
    14
    GeeksforGeeks Portal
    03

    GeeksforGeeks Portal
    04

    GeeksforGeeks Portal
    9

    đầu ra

    GeeksforGeeks Portal
    9

    Giải thích mã.
    Email được lưu trữ trong biến $url trước tiên được làm sạch để loại bỏ các ký tự không hợp lệ. Sau đó, URL được kiểm tra xem định dạng URL có hợp lệ hay không.


Việc vệ sinh có bắt buộc trong PHP không?

Do đó, để bảo vệ cơ sở dữ liệu khỏi tin tặc, cần phải vệ sinh và lọc dữ liệu do người dùng nhập trước khi gửi vào cơ sở dữ liệu .

Tại sao bạn phải luôn làm sạch đầu vào của người dùng trước khi sử dụng chúng trong các truy vấn của mình?

Một ứng dụng nhận được các truy vấn và yêu cầu từ các nguồn không đáng tin cậy có thể khiến hệ thống bị tấn công nguy hiểm. Vệ sinh đầu vào đảm bảo rằng dữ liệu đã nhập tuân thủ các yêu cầu bảo mật và hệ thống con, loại bỏ các ký tự không cần thiết có thể gây hại

Chủ Đề