使用<noscript>是否存在安全风险?

时间:2015-12-27 07:21:09

标签: javascript security

下面的代码是两个搜索框,分别在启用/禁用javascript时有效。它工作正常,但我想知道是否有任何安全问题,我正在验证这两种形式。我只是想知道&lt; noscript&gt; 本身是否存在任何安全问题。

&#xA;&#xA;
 &lt; div class ='searchbox1' &GT;&#XA; &lt; form action =“search.php”method =“post”&gt;&#xA; &lt; input type =“text”name =“search”placeholder =“输入关键字...”/&gt;&#xA; &lt; input type =“image”src =“./ img / search-icon.png”alt =“submit”/&gt;&#xA; &LT; /形式&GT;&#XA;&LT; / DIV&GT;&#XA;&LT; NOSCRIPT&GT;&#XA; &LT;风格&GT;&#XA; .searchbox1 {&#xA; display:none;&#xA; }&#XA; &LT; /风格&GT;&#XA; &lt; div class ='searchbox2'&gt;&#xA; &lt; form action =“different.php”method =“post”&gt;&#xA; &lt; input type =“text”name =“search”placeholder =“输入关键字...”/&gt;&#xA; &lt; input type =“image”src =“./ img / search-icon.png”alt =“submit”/&gt;&#xA; &LT; /形式&GT;&#XA; &LT; / DIV&GT;&#XA;&LT; / NOSCRIPT&GT;&#XA;  
&#XA;

2 个答案:

答案 0 :(得分:4)

noscript标签只显示是否没有打开JS。 没有特定于noscript的安全问题。请注意,我没有分析您实际代码的安全性,只是回答有关noscript安全性的具体问题。

我还要指出,您的整理</style>标记格式错误(注意:此问题已在问题代码中修复)。这会给你带来问题。

我还要指出,考虑到两者之间的标记几乎相同,除了它使用的PHP文件和div的类名之外,还有一种更简单的方法。

只使用假设没有JS的标记,然后使用 JS替换那些的2位数据。这样,当没有JS它有适当的标记时,当有JS时,JS为JS版本制作了正确的标记,并且标记中只有一个表单供你处理。

答案 1 :(得分:1)

  

没有任何安全问题。

说完了,这种方法中的其他东西引起了我的注意。您似乎唯一的验证是客户端。 Javascript完全是客户端的,因此如果客户希望这样做(可以或不能触发HashMap,直到客户的选择),并且如果您没有验证有关的信息,则可以禁用Javascript。 服务器端,在客户端的完全控制中考虑您的输入 - 在大多数情况下,这是非常有问题的,因为它可能会引发基于输入的漏洞,例如{{3} }或injections