gpt4 book ai didi

php - 清理公众意见的最佳方式是什么?

转载 作者:可可西里 更新时间:2023-11-01 08:01:38 27 4
gpt4 key购买 nike

所以我有一个表单可以接受来自用户的一些输入,这些输入稍后可能会显示在页面上。

从安全的角度来看,我考虑的做法是获取输入,将 mysql_real_escape_string() 函数应用于所有输入,然后使用准备好的语句插入。

检索数据时,我会在将其显示在屏幕上之前对其执行 htmlspecialchars()。

这样可以吗?我是否忽略了一些重要的事情?

最佳答案

两件事:

  • 在将所有输入发送到数据库之前,您必须对所有输入进行转义;为了那个原因 :
    • mysql_real_escape_string 是正确的工具,如果您不使用准备好的语句
    • 如果你使用的是准备好的语句,你不需要自己转义:它会自动完成。
    • 但是你不能两者都做:正如@longneck 在他的评论中澄清的那样,如果你正在转义自己,并使用准备好的语句,它也会转义,你的字符串将被转义两次——你不希望这样。
  • 然后,您必须对所有输出进行转义;如果您的输出格式是 HTML,htmlspecialchars 或 htmlentities 都可以。

所以,对于输出到 HTML,你所做的对我来说似乎没问题;但是您为输出到数据库所做的工作超出了必要的范围。


作为旁注:如果你想让你的用户使用 HTML,你可以使用像 HTMLPurifier 这样的工具——它允许你指定允许或不允许哪些标签/属性。

关于php - 清理公众意见的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com