首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html_entities与strip_tags的mysql_real_escape_string之争

问html_entities与strip_tags的mysql_real_escape_string之争
EN

Stack Overflow用户
提问于 2014-07-05 21:01:14
回答 1查看 971关注 0票数 0

我有一个关于mysql_real_escape_string. Strip_tags html_entities的问题

现在,当我使用例如:

代码语言:javascript
复制
strip_tags(mysql_real_escape_string($_POST['username']));

上面的代码将是安全的,并且如下:

代码语言:javascript
复制
html_entities($_POST['username']);

对于现实世界的项目来说哪一个更安全。

同时使用mysql_real_escape_string和strip_tags的好处是什么?但是当我和他们一起使用html_entities时,它就不能工作了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-05 21:36:05

一开始你必须明确目标。不会到处逃亡的。

htmlspecialchars或htmlentities

目的

将用户输入显示为。

示例

代码语言:javascript
复制
<div><?php echo htmlspecialchars($_POST['data'], ENT_QUOTES, 'UTF-8') ?></div>

备注

当您正要显示这个函数时,请使用它。不要事先应用它来存储变量。

这个变量已经逃过了.?

..。你可能会麻烦你自己。

strip_tags

不要使用此函数。消毒是个错误的方法。

mysql_real_escape_string

目的

在SQL中设置用户输入。

示例

代码语言:javascript
复制
<?php
$sql = sprintf(
    "SELECT * FROM table WHERE name = '%s' AND address = '%s'",
    mysql_real_escape_string($_POST['name'], $link),
    mysql_real_escape_string($_POST['address'], $link)
);

备注

mysql_*函数都是不推荐的。你最好用PDO。Placeholders,为我们提供了准备的语句和,而不是转义。

PHP手册-PDO::准备

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24590529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档