所以这就是问题,我正在使用我自己的基于PHP的小型论坛软件进行大学考试(comp。科学)。我发现棘手的一件事是允许html内容。其中一项考试要求是SQL安全性。
在我的论坛中,我想允许某人从互联网上复制和粘贴一些东西,比如说一篇WikiPedia文章,所有的超链接和字体样式都可以转移到将它们粘贴到论坛文本区域中。
我能够使用nicEditor实现这一点,这是一个js wysiwyg编辑器。现在问题来自我验证用户输入的方式。为了使输入安全,它以这种格式调用。
parsebbCode(htmlentities(stripslashes($posts_content)))
这几乎使一切变得无用,将html变成纯文本。所以这就是问题,如何将html代码存储在MySQL中的默认状态,并将其转换为富有格式的代码,而不是创建SQL漏洞?或者我应该写一些BBCODE来解析基本元素呢?
答案 0 :(得分:0)
我最初将此作为评论添加,但这确实是一个答案:
如果使用参数更新数据库SQL注入攻击将被挫败。只有当您使用adhoc SQL文本查询时,才会感到这样。
这是一个链接: