Hướng dẫn mysqli_real_escape_string vs mysql_real_escape_string

Các hàm trên thuộc về nhóm hàm, chúng ta dùng để bảo mật/ bảo vệ website. Một dữ liệu khi được thêm vào database có thể có 2 khả năng xấu như sau:

Đang xem: Mysql escape string trong php

– Một là: dữ liệu đó có chứa các kí tự đặc biệt (ví dụ như dấu ‘ , ” , /, …) làm cho câu query của chúng ta bị lỗi cú pháp.

Ví dụ:
$bien = ‘Cái gì” đây ta’;
mysql_query(“select * from news where title=’$bien’ “);

==> Rõ ràng trong $bien có chứa dấu “, nên khi đưa vào câu query sẽ làm cho câu query bị lỗi cú pháp.

Do đó trong trường hợp này, ta cần phải có hàm để xử lý các biến trước khi đưa vào câu query. Và ứng cử viên sáng giá hiện giờ là: addslashes, mysql_real_escape_string

+ Phân biệt addslashes, mysql_real_escape_string:
* Thông thường các hệ quản trị cơ sở dữ liệu (HQTCSDL) đều có hàm xử lý kí tự đặc biệt, nên php chỉ cần chuyển qua cho HQTCSDL

Đối với Mysql thì khi ta gọi hàm mysql_real_escape_string thì php sẽ chuyển xuống cho mysql xử lý (do đó trước khi dùng hàm này, phải gọi hàm mysql_connect)
Đối với PostgreSql thì khi ta gọi hàm pg_escape_string thì php sẽ chuyển xuống cho PostgreSql xử lý

* Đối với các HQTCSDL không có hàm xử lý các kí tự đặc biệt thì ta sẽ dùng chính php để xử lý, thông qua hàm addslashes

– Hai là: dữ liệu đó không làm ảnh hưởng đến cú pháp của câu query, được thêm vào bình thường, nhưng khi hiển thị lên, nó làm cho tài liều html của chúng ta bị lỗi cú pháp.

Ví dụ:
$tieude = ‘Hướng dẫn cách sử dụng thẻ div’;
$noidung = ‘Thẻ div viết đầy đủ là

, đây là một loại thẻ có mặt trong tất cả website’;
mysql_query(“insert into news(title, body) values (‘$tieude’, ‘$noidung’)”);

==> Bạn hãy quan sát $noidung, nó có chứa

, rõ ràng khi hiện thị ra ngoài website, chung với nội dung html của chúng ta, vô tình nó trở thành một element trong cây html của chúng ta, và hiện tại nó đang bị thiếu thẻ đóng
, làm cho cấu chúng html của chúng ta không còn hợp lệ. Những trường hợp nặng hơn, có thể làm cho cả website của chúng ta bị chạy lung tung!!!

Và ứng cử viên được đề cử cho  trường hợp này là hàm htmpspecialchas . Hàm này sẽ thay thế dấu < thành  < và dấu > thành > . Khi đó về mặt nội dung sẽ là:

$noidung = ‘Thẻ div viết đầy đủ là

Xem thêm: Chỉ Số Xét Nghiệm Wbc Là Gì ? Vì Sao Cần Thực Hiện Xét Nghiệm Wbc

, đây là một loại thẻ có mặt trong tất cả website’;

Nhưng khi show lên website thì:  ‘Thẻ div viết đầy đủ là

, đây là một loại thẻ có mặt trong tất cả website’; (do các trình duyệt có khả năng hiểu mã html)

Bài viết khác

Thêm Google Drive vào Menu Send to trên Windows 7 Thiết kế website tư vấn du học cần những gì? Một số biện pháp đối phó khi phát hiện bị DDOS, How to check DDOS Attack and prevent Một số cách cơ bản để kiểm tra server có bị DDoS không Theo dõi Website Uptime 24/7 miễn phí với Google Drive, hỗ trợ SMS Cách sử dụng phần mềm FastStone-Capture quay lại màn hình Hướng dẫn thay đổi tên miền không làm mất đi thứ hạng! Tìm hiểu về Imagick trong PHP Cách phục hồi dung lượng pin laptop vô cùng đơn giản Cách kiểm tra độ chai của PIN laptop dell, hp, asus… ngay trong window Cách sửa lỗi SSL trên trình duyệt Chrome, Firefox, Cốc Cốc Hướng dẫn cập nhật phpBB Export routines via phpmyadmin Kinh doanh bán lẻ: Khuyến mại “Được ăn cả ngã về không” nên thử 7 xu hướng marketing online năm 2016 Ổ cứng SSD là gì? Phân biệt khác nhau giữa ổ cứng SSD và HDD? Trường hợp nào nên sử dụng SSD? Lỗ hổng nghiêm trọng trong OpenSSL cho phép tin tặc giải mã HTTPS Làm sao để có một website chuyên nghiệp? Bảo mật Server Linux hiệu quả hơn Hướng dẫn cấu hình Kloxo MR trước khi sử dụng

Xem thêm: Catalog:Nap Time Pirate – How To Configure Vip Server In Roblox

  • Giới thiệu
  • Blog
  • Thiết kế website
  • Youtube Partner And Network
  • Facebook

Giới thiệu

Điều khoản sử dụngChính sách & Quy định chungQuy định và hình thức thanh toánChính sách bảo mật thông tin

Blog

Lịch sử cập nhậtThông Báo Bảo Trì AAG Kênh Giữa HongKong Và MalaysiaGoogle cho biết bản cập nhật thứ sáu là không phải do các thuật toán PenguinLà một bản cập nhật lớn từ Google tìm kiếm đang xảy ra? Tôi nghĩ như vậy.4 cách viết bài cho SEO, tăng khả năng thành công

Thiết kế website

Báo giá thiết kế website rao vặt trực tuyến

Youtube Partner And Network

“Hôi của” Hình ảnh này mình “hôi của đề xuất” của AfrojackCách tag video của mình sao cho được đánh giá cao trong YouTube và VIDIQTiện ích VidIQ – cần phải có khi chơi youtube

Facebook

Hướng dẫn cài đặt Instant ArticleHướng dẫn sử dụng Graph API Facebook toàn tập – Phần 1