Home » PHP » Các hàm trong PHP » Hàm xử lý chuỗi trong PHP » addslashes — Thêm dấu gạch chéo vào chuỗi
Ví dụ và cách sử dụng hàm addslashes trong PHP để thêm dấu gạch chéo vào chuỗi, tránh các vấn đề về bảo mật khi làm việc với cơ sở dữ liệu.

addslashes — Thêm dấu gạch chéo vào chuỗi

(PHP 4, PHP 5)
addslashes — Thêm dấu gạch chéo vào chuỗi

Miêu tả hàm addslashes

Trả về một chuỗi với dấu gạch chéo trước ký tự cần xử lý. Những ký tự này bao gồm : dấu nháy đơn (‘), dấu nháy kép (“), dấu gạch chéo (\) và NUL.

Một ví dụ về cách sử dụng addslashes() là khi bạn nhập dữ liệu vào trong một chuỗi và chạy các lệnh PHP trong chuỗi đó. Ví dụ, O’Reilly là dữ liệu được lưu trong biến $str, bạn cần xử lý dữ liệu trong biến $str. (VD: eval(“echo ‘”.addslashes($str).”‘;”); ).

Để xử lý các tham số trong cơ sở dữ liệu, hệ thống quản lý cơ sở dữ liệu (Database Management System – gọi tắt là DBMS) sử dụng hàm riêng (Vd: mysqli_real_escape_string() trong MySQL hoặc pg_escape_literal(), pg_escape_string() trong PostgreSQL) để xử lý ký tự đầu vào vì lý do bảo mật. Các DBMS có những cách khác nhau để xử lý định danh (như tên bảng, tên cột). Một số DBMS như PostgreSQL cung cấp hàm xử lý định danh : pg_escape_identifier() nhưng không phải tất cả DBMS đếu cung cấp API này. Nếu bạn rơi vào trường hợp này, hãy tham khảo hướng dẫn sử dụng của  hệ thống cơ sở dữ liệu hiện tại để chọn phương pháp xử lý thích hợp.

Nếu DBMS của bạn không có hàm xử lý và sử dụng dấu gạch chéo (\) để xử lý ký tự đặc biệt, bạn có thể sử dụng hàm addslashes() nếu phương thức này đáp ứng đủ  yêu cầu dành cho cơ sở dữ liệu hiện tại. Xin lưu ý rằng việc dùng hàm addslashes() để xử lý các tham số truyền vào có thể gây ra các vấn đề về bảo mật trên hầu hết các cơ sở dữ liệu.

Mặc định, trong PHP trước phiên bản 5.4 đã bật magic_quotes_gpc và bản thân nó cơ bản đã chạy hàm addslashes() trên tất cả dữ liệu GET, POST và COOKIE. Bạn không nên dùng lại hàm addslashes() trên những chuỗi đã được xử lý bởi magic_quotes_gpc, nó sẽ làm chuỗi bị xử lý 2 lần. Bạn có thể sử dụng hàm get_magic_quotes_gpc() để kiểm tra xem tính năng này hiện tại đang bặt hay tắt.

Tham số

string

Chuỗi ký tự cần xử lý.

Giá trị trả về

Trả về chuỗi ký tự đã được thêm dấu gạch chéo.

Ví dụ

Ví dụ 1 về hàm addslashes()

About admin

Leave a Reply

Your email address will not be published. Required fields are marked *

*