Ben*_*Spi 3 php security wordpress
当我创建输入时
<input type="text" name="456" value="123">
Run Code Online (Sandbox Code Playgroud)
并将该数据传递到另一个 php 站点,Wordpress 会自动添加反斜杠,例如:
\"my text\"
Run Code Online (Sandbox Code Playgroud)
但我需要以下方式的文本:
"my text".
Run Code Online (Sandbox Code Playgroud)
这就是为什么我在进一步处理数据之前使用该函数的原因:
stripslashes()
Run Code Online (Sandbox Code Playgroud)
这是针对黑客攻击的不安全解决方案吗?由于我通过 API 发送密码,因此知道这一点至关重要。
对于未来的读者来说,之前的答案是完全错误的。根据伊恩的评论,WordPress 在内部强制执行等效的魔术引号,以确保一致的输入、向后兼容性,并保护新手免受 WP 安装的影响。这是过去糟糕的日子\xe2\x84\xa2 的后遗症,当时人们很常见地将数据直接插入数据库而不进行任何清理/验证,然后只针对他们目睹的问题编写黑客解决方法而不是这样做适当地。
\n\n只要您在将数据保存到数据库时正确地通过、等传递任何未转义的数据,就可以安全地在数据上使用stripslashes()和。切勿将未转义的数据写入预计会保持转义的超全局变量,请使用类似. 大多数人预计您会自己进行转义,这就是为什么在 WP 内容中经常看到大量反斜杠的原因。stripslashes_deep()$wpdb->insert()$wpdb->prepare()$_POST$my_post = stripslashes_deep($_POST);
这与转义 html 输出完全不同,后者应该始终在不受信任的用户输入上完成。
\n| 归档时间: |
|
| 查看次数: |
4843 次 |
| 最近记录: |