PHP-阻止攻击者在inputbox中使用javascript
就像我们使用PHP-阻止攻击者在inputbox中使用javascript,javascript,php,html,htmlspecialchars,Javascript,Php,Html,Htmlspecialchars,就像我们使用htmlspecialchars来避免html标记作为输入一样 同样,我们是否也可以使用任何函数或方法来避免javascript htmlspecialchars不处理脚本标记 有什么建议吗 在翻译标记时,它应该注意脚本标记 (大于)变为 请参阅PHP文档:使用和标记 这将分别将转换为和 $input = filter_input(INPUT_POST, 'fieldName', FILTER_SANITIZE_FULL_SPECIAL_CHARS); 因此: <script
htmlspecialchars
来避免html标记作为输入一样
同样,我们是否也可以使用任何函数或方法来避免javascript
htmlspecialchars
不处理脚本标记
有什么建议吗 在翻译
标记时,它应该注意脚本标记
(大于)变为
请参阅PHP文档:使用和标记
这将分别将
转换为
和
$input = filter_input(INPUT_POST, 'fieldName', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
因此:
<script>alert('hello');</script>
看看不同的消毒过滤器。不要在所有内容上都使用fullspecialchars,而是使用适用于所需输入的筛选器。。。例如,如果您要输入一个数字,请使用数字过滤器。您可以使用htmlentities()。这会阻止使用所有html标记。因此,请确保同时清除服务器端的数据,因为攻击者可以直接向服务器提交数据并绕过客户端保护。我尝试过的可能重复:$str=“alert('Hello');”$str=过滤器变量($str,过滤器清理字符串);echo$str;输出:警报('Hello');这没关系,但无论如何,我可以用它作为真或假?如果$str包含html标记,它应该退出,而不是在DB中输入详细信息。谢谢,我可以实现我想要的。再次感谢。如果($input!=filter\u var($input,…){return false;}
<script>alert('hello');</script>