我有一个网页,用户可以在线编辑,创建,存储,访问和调试他们的HTML代码。对于安全性问题,我已经使用沙盒iframe来显示用户内容,但我还有一件事 - 如果用户创建的代码包含一个php标签(我的服务器端语言是php),例如,进行SQL查询并读取/删除我的所有数据库或做任何其他有害的事情?
有可能吗?如果是的话 - 我怎样才能防御这种类型的攻击呢?我知道php有一个选项来剥离所有标签名称的标签,所以我可以剥离所有的php标签,但是再次 - 用户仍然可以不使用其他黑客,例如document.write()php标签或其他东西那样的?
提前谢谢
答案 0 :(得分:0)
php标记(<?php ?>
)不是HTML标记(<html><strong>
等等)。所以那是不可能的。
另一方面,他们可以插入javascript(xss)。您可以转义输出或过滤输入。
要过滤输入,请参阅:http://php.net/strip_tags
您可以将要保留的标记作为参数传递:
strip_tags($input, '<br>');