gpt4 book ai didi

php - 最佳实践。我是在数据库中保存 html 标签还是存储 html 实体值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:15 26 4
gpt4 key购买 nike

我想知道我应该以哪种方式执行以下操作。我正在使用微型 MCE 所见即所得编辑器,它使用正确的 html 标签格式化用户数据。现在,我需要将输入编辑器的数据保存到数据库表中。

当插入数据库时​​,我是否应该将 html 标签编码为它们相应的实体,然后当我从表中取回数据时,没有针对 XSS 目的进行编码,但我仍然必须对 html 使用 eval标签来格式化文本。

我是否将 html 标签保存到数据库中,然后当我从数据库中取回数据时,将 html 标签编码到它们的实体中,但是随着标签将出现在用户面前,我必须使用 eval函数在输入时实际格式化数据。

我的想法是第一个选项,我只是想知道你们的想法。

最佳答案

我建议以尽可能接近“自然”形式的方式将数据存储在数据库中。通常,您的数据库层不应该关心字段是否包含 HTML、Base64 编码二进制文本或纯文本。当它决定如何呈现内容时,这些是您的 View 层的关注点。

因此,虽然您可能希望在插入数据库之前对 XSS 攻击进行一些初步筛选,但在向浏览器发送“不受信任”的信息之前,您应该始终筛选 XSS。

这还有一个好处,如果您的 XSS 预防算法在未来得到改进,您只需更改显示它的例程即可在整个应用程序中实现它,而不必扫描数据库以查找可能包含 HTML 的字段,然后更新它们。

关于php - 最佳实践。我是在数据库中保存 html 标签还是存储 html 实体值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777278/

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