gpt4 book ai didi

php - 防止用户文本区域输入

转载 作者:太空宇宙 更新时间:2023-11-04 14:21:50 25 4
gpt4 key购买 nike

当输入仅存储在 session cookie 中时,我是否需要做任何特殊的事情来保护自己免受来自 textarea 的用户输入?

我销售的产品可以刻有自定义文字。用户“应该”将他们想要雕刻的文本输入文本区域,并且该文本与他们选择的项目和一些其他数据一起存储在 session cookie 中。

现在,我在将它存储在 session cookie 中之前使用 nl2br,然后在我将它显示回页面时使用 stripslashes。

我是否需要做任何其他事情来保护自己免受恶意代码(即 htmlentities 等)的侵害?

感谢您的输入(没有双关语!)

最佳答案

如果您只想允许某些字符(例如 a-z 0-9),请验证输入。如果您不想要像 < 这样的字符和 >然后验证。

作为一般经验法则,在输入时存储输入,并在将其打印到页面或其他介质之前进行任何处理。通过处理,我的意思是通过 nl2br() 运行它和 htmlentities() .

通常最好以中性形式存储数据,即不针对 HTML 等进行处理,因为将来您可能希望将数据输出为其他形式,如 XML、Web 服务,在这种情况下需要对其进行处理不同。

将其存储在 session 变量中,而不是 cookie 中。 session 变量存储在服务器上,浏览器或其他任何人都无法访问。如果您将它存储在 cookie 中,它可能会被篡改,并且您每次要访问它时都必须重新验证输入,因为它可能已经更改。

如果您最终将数据存储在数据库中,则需要对其进行转义以进行 SQL 注入(inject)。该方法将根据用于与数据库接口(interface)的库而有所不同,但参数化查询或准备好的语句更可取。

关于php - 防止用户文本区域输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775818/

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