Table of Contents
回复讨论(解决方案)
Home Backend Development PHP Tutorial htmlspecialchars和addslashes和et_magic_quotes_gpc的区别

htmlspecialchars和addslashes和et_magic_quotes_gpc的区别

Jun 23, 2016 pm 01:35 PM

htmlspecialchars和
addslashes和
et_magic_quotes_gpc

这三个玩意好象没有区别,似乎又有区别,不知如何处理三者之间的关系呢


回复讨论(解决方案)

htmlspecialchars 转换成html实体,偶尔在存入数据库之前把html转为实体存储(一般是富文本编辑的内容)
addslashes 转义特殊符号,一般在查数据库的时候会先转义特殊字符,防止sql注入
get_magic_quotes_gpc 判断magic_quotes_gpc(若开启的话,php会对GET、POST 和 COOKIE 数据自动运行 addslashes)是否开启,防止你二次转义

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '

addslashes() 函数在指定的预定义字符前添加反斜杠。
默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

et_magic_quotes_gpc 这个应该是
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=关闭.1=打开

htmlspecialchars 与后两个方法没关系。

而get_magic_quotes_gpc 如果是1,表示GET/POST的数据已经是执行过addslashes的。
如果是0,表示没有执行过addslashes,那就需要用户自己执行addslashes来转义

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

11 Best PHP URL Shortener Scripts (Free and Premium) 11 Best PHP URL Shortener Scripts (Free and Premium) Mar 03, 2025 am 10:49 AM

11 Best PHP URL Shortener Scripts (Free and Premium)

Introduction to the Instagram API Introduction to the Instagram API Mar 02, 2025 am 09:32 AM

Introduction to the Instagram API

Working with Flash Session Data in Laravel Working with Flash Session Data in Laravel Mar 12, 2025 pm 05:08 PM

Working with Flash Session Data in Laravel

Build a React App With a Laravel Back End: Part 2, React Build a React App With a Laravel Back End: Part 2, React Mar 04, 2025 am 09:33 AM

Build a React App With a Laravel Back End: Part 2, React

Simplified HTTP Response Mocking in Laravel Tests Simplified HTTP Response Mocking in Laravel Tests Mar 12, 2025 pm 05:09 PM

Simplified HTTP Response Mocking in Laravel Tests

cURL in PHP: How to Use the PHP cURL Extension in REST APIs cURL in PHP: How to Use the PHP cURL Extension in REST APIs Mar 14, 2025 am 11:42 AM

cURL in PHP: How to Use the PHP cURL Extension in REST APIs

12 Best PHP Chat Scripts on CodeCanyon 12 Best PHP Chat Scripts on CodeCanyon Mar 13, 2025 pm 12:08 PM

12 Best PHP Chat Scripts on CodeCanyon

Notifications in Laravel Notifications in Laravel Mar 04, 2025 am 09:22 AM

Notifications in Laravel

See all articles