如何从输入

时间:2016-10-01 13:33:46

标签: php html security

我目前正在建立一个管理小组。有一个页面,其中包含HTML的文件被加载到html编辑器(TinyMCE)中并保存到已加载的同一文件中(以保存更改)。

该文件只是一个页面,其中包含要从管理面板交换的动态链接。如果所有这些页面都是相同的,那么我只是将核心值保存到数据库然后加载特定的部分,然而事实并非如此,因为模板有很多变化,很少有两个是相同的。< / p>

因此,我想要一个客户可以用来编辑这些页面的应用程序。我如何以安全的方式保存这些文件以消除任何恶意行为?

谢谢。

1 个答案:

答案 0 :(得分:1)

在将数据库存储到数据库中时对其进行清理通常是一个坏主意,如果你弄错了并且你破坏了数据而没有回头,那么你必须让用户重新输入内容。修正了任何错误。你可能认为你已经覆盖了所有基础,但总会有那个用户说“当我这样做......”

相反,只需将数据存储在数据库中(显然是为sql注入过滤)你不希望O'reilly先生破坏你的数据库。

您需要在退出数据库的过程中过滤内容,具体方法取决于您的具体情况。

如果您只是希望用户存储文字,那么使用htmlspecialchars就足够了,这会将<更改为&lt;,依此类推

但是,如果您希望用户能够使用标签,那么剥离标签会更合适

例如

$allowable_tags = array(
  '<p>',
  '<h1>',
  '<h2>',
  '<h3>',
  '<strong>',
  '<em>',
);


$content =  $db->get($page_id);

echo strip_tags($content,implode('',$allowable_tags));