我写了一个代码..但是现在我不知道哪个版本更好一个..有没有可能第一版我的代码容易受到攻击?
版本1:
$destination = $_POST['var'];
$destination = strip_tags(trim($destination));
第2版:
$destination = strip_tags(trim($_POST['var']));
答案 0 :(得分:4)
由于strip_tags
和trim
都没有更改输入字符串,因此两个版本之间绝对存在无差异。
答案 1 :(得分:0)
它们都完全相同。
你有什么逃避输入的?数据库? XSS?
答案 2 :(得分:0)
两个片段完全相同。有些人会说第一个更好的可读性,有些人会说第二个更好的简洁性。
答案 3 :(得分:0)
两个版本都意味着SAME,你可以使用任何版本。在我看来,你必须使用filter_var来过滤输入字符串......
答案 4 :(得分:0)
两个版本在漏洞方面都是相同的。如果注入是你担心的,你可能想要包含addslashes()。
哪个更好?版本2实际上会更快地进行基准测试。将变量设置为另一个变量只是该过程中不必要的步骤。我建议版本1虽然在技术上不是错误的,但却是不好的做法。即使结果值相同。
答案 5 :(得分:-2)
好吧,strip_tags仍然可以被利用。稍微好一些的解决方案可能如下:
$destination = htmlentities(trim($_POST['var']));
然而,这仍然不够,如果$ _POST ['var']将进入数据库,应该做额外的工作。
确保您在生产级别的代码中实现htmlentities之前完全了解htmlentities()的作用。