首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库codeigniter中存储HTML

在数据库codeigniter中存储HTML
EN

Stack Overflow用户
提问于 2011-10-28 21:37:27
回答 2查看 3K关注 0票数 2

我正在创建一个具有codeigniter的CMS,需要存储一些在html中包装的文本。然后我将从数据库中获取数据,并将其回显到我的页面上。在有安全意识的情况下,最好的方法是什么?

数据示例:

代码语言:javascript
复制
<h2>A fresh approach</h2>
    <p>Whether you have queries regarding your</p>
<a href="#">cgoto page</a>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-28 21:58:08

清理始终是必需的。

我特别喜欢将白名单用于HTML标记,因此您可以分析要存储的数据,然后简单地删除不在该白名单中的HTML标记。这样,如果您愿意,您可以防止用户插入具有不可预测或模糊行为的特定标签,如<script><object>

假设您的一个内容管理系统用户使用了一个非常愚蠢的密码,而其他人通过该应用程序获得了访问权限。过滤HTML内容可以防止冒名顶替者插入恶意的跨域javascript来收集键盘事件(这可能会暴露登录表单中可能的密码)等。

此外,验证将要存储的HTML总是很好的,因为任何无效的HTML最终都会损害您的网站标记,甚至会破坏您在某些浏览器中的呈现。

在数据库中存储数据之前进行检查可能是不够的,因为直接访问数据库可能会破坏数据,所以在回显内容之前,请按照@RodrigoFerreira的说法进行。

票数 1
EN

Stack Overflow用户

发布于 2011-10-28 21:43:18

在保存之前(更好,因为您将保存一次并回显多次)或在输出时应用XSS过滤器,并将内容分配给传递给视图的变量。您可以使用$this->security->xss($data_retrieved)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7930015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档