我目前正在建立一个管理小组。有一个页面,其中包含HTML的文件被加载到html编辑器(TinyMCE)中并保存到已加载的同一文件中(以保存更改)。
该文件只是一个页面,其中包含要从管理面板交换的动态链接。如果所有这些页面都是相同的,那么我只是将核心值保存到数据库然后加载特定的部分,然而事实并非如此,因为模板有很多变化,很少有两个是相同的。< / p>
因此,我想要一个客户可以用来编辑这些页面的应用程序。我如何以安全的方式保存这些文件以消除任何恶意行为?
谢谢。
答案 0 :(得分:1)
在将数据库存储到数据库中时对其进行清理通常是一个坏主意,如果你弄错了并且你破坏了数据而没有回头,那么你必须让用户重新输入内容。修正了任何错误。你可能认为你已经覆盖了所有基础,但总会有那个用户说“当我这样做......”
相反,只需将数据存储在数据库中(显然是为sql注入过滤)你不希望O'reilly先生破坏你的数据库。
您需要在退出数据库的过程中过滤内容,具体方法取决于您的具体情况。
如果您只是希望用户存储文字,那么使用htmlspecialchars
就足够了,这会将<
更改为<
,依此类推
但是,如果您希望用户能够使用标签,那么剥离标签会更合适
例如
$allowable_tags = array(
'<p>',
'<h1>',
'<h2>',
'<h3>',
'<strong>',
'<em>',
);
$content = $db->get($page_id);
echo strip_tags($content,implode('',$allowable_tags));