- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个不错的管理界面,其中包括库存管理、内容管理和博客。现在是时候将其锁定并确保其安全(是的,我应该从一开始就这样做......
对于博客创建/编辑,我使用的是将 HTML 输出发布到 editblog.php 的 ckeditor。我还为标题、作者等使用了简单的文本输入...
我很担心,因为博客将有 img src="uploads/etc.jpg",以及 div、span 等...
所以!当我清理这些数据时,我如何确保所有这些引号和斜线都可以安全地插入我的 SQL 数据库,我该怎么做才能将它吐回前端?我也很担心,因为如果博主“引用”了一些东西,我也不希望它被搅乱。
简单的输入,如标题、作者等我正在使用 $title = mysqli_real_escape_string($title)但这就够了吗?如何在避免攻击的同时保留用户的预期输入?
我已经做了我的研究,但我还是不明白。我希望有人能为我把它分解得又好又简单......
最佳答案
漂亮又简单...
您始终对要写入的上下文进行清理。
这些技术将保留用户的输入,但防止该输入被解释为特定上下文中的代码。
当你想查询数据库时,担心SQL注入(inject)攻击:
当您想显示将被浏览器解析的内容(如 HTML)时,您担心跨站点脚本:
这将提供基本级别的安全性。
关于php - 对 htmlspecialchars、real_escape_string 等感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13279578/
我收到这个错误: Call to a member function real_escape_string() on a non-object 这里是 $db $db = new mysqli("12
就速度和安全性而言,是否有理由使用其中一种?谢谢! 最佳答案 速度: 当您使用绑定(bind)参数时,您可以重复使用相同的查询和查询计划,只需更改参数即可。当您从字符串构建查询时,数据库必须重新解析该
我认为在将来自 HTML 表单的传入数据输入到 mySQL 数据库之前“清理”传入数据的正确方法是在 PHP 脚本中对其使用 real_escape_string,像这样: $newsStoryHea
我希望能够添加和更新某些信息。现在一切正常,直到我发现当发送到数据库的文本中有引号时脚本不再起作用。 所以我做了一些研究,发现我必须使用 mysql_real_escape_string() 函数来忽
strip 斜线()?那太蹩脚了,所以 4.0。 mysqli::real_escape_string 的 5.0 对应项是什么,它去除了为 SQL 查询添加的所有斜线? 还有其他问题: 尝试更新记录
我正在尝试使用 MySqli real_escape_string 准备一些文本以包含在 SQL 查询中,但就目前情况来看,real_escape_string 似乎不能很好地处理撇号。我在下面添加了
我正在学习 PHP 的书说,为了防止人们使用引号之类的东西来更改查询,您应该使用 real_escape_string 函数。作者接着说,在一些启用了魔术引号的旧系统上,使用 real_escape_
我正在尝试使用 mysql_real_escape_string() 来保护登录表单。 使用这段代码: include_once 'access-shared.php'; include_once '
同时,我在 PHP.net#mysqli_real_escape_string 中阅读有关 mysqli->real_escape_string 的内容.几行,我不明白它们的意思,以及使用 real_
是否可以转义整个查询而不是每个搜索字段。例如,我知道我可以这样做: $name="O'Connor"; $email="mark.O'Connor@something.com"; $name=mysq
我已经尝试了针对有关此主题的其他问题发布的所有解决方案,但没有一个有效。 如果这是一个基本问题,我很抱歉,但我是 MySQLi 的新手,我不知道为什么这个连接不起作用。 我的 functions.ph
我不想受到 sql 注入(inject)的攻击。谁能告诉我我在这里是否正确使用 $mysqli->real_escape_string?目前我只在 $name 变量上使用它。我对 PHP 和数据库没有
这个问题已经有答案了: Are mysql_real_escape_string() and mysql_escape_string() sufficient for app security? (5
我有这个 PHP 代码: $ua = $mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT']); $mysqli->query("INSERT
我有一个小问题。我已经编写了这段代码来将值添加到 mysql 数据库,但是当我运行代码时出现错误。谁能帮帮我? 代码: $fel = $mysqli->query("INSERT INTO delet
我有两个类如下: class-1: connection_class.php class connection{ public $connection; function __construct(){
我已经尝试了针对有关此主题的其他问题发布的所有解决方案,但没有一个有效。 如果这是一个基本问题,我很抱歉,但我是 MySQLi 的新手,我不知道为什么这个连接不起作用。 我的 functions.ph
我编写了一个不错的管理界面,其中包括库存管理、内容管理和博客。现在是时候将其锁定并确保其安全(是的,我应该从一开始就这样做...... 对于博客创建/编辑,我使用的是将 HTML 输出发布到 edit
这个问题在这里已经有了答案: How can I prevent SQL injection in PHP? (27 个答案) 关闭 9 年前。 prepare() 对于我的大部分代码来说似乎有点乏
我正在开发 Dreamviewer。当我尝试编写基本语法时,它通常会自动完成。 如您所见,它为“转义”提供了 2 种变体:real_escape_string 和 escape_string。我想知道
我是一名优秀的程序员,十分优秀!