下面的代码是两个搜索框,分别在启用/禁用javascript时有效。它工作正常,但我想知道是否有任何安全问题,我正在验证这两种形式。我只是想知道< noscript>
本身是否存在任何安全问题。
< div class ='searchbox1' >
 < form action =“search.php”method =“post”>
 < input type =“text”name =“search”placeholder =“输入关键字...”/>
 < input type =“image”src =“./ img / search-icon.png”alt =“submit”/>
 < /形式>
< / DIV>
< NOSCRIPT>
 <风格>
 .searchbox1 {
 display:none;
 }
 < /风格>
 < div class ='searchbox2'>
 < form action =“different.php”method =“post”>
 < input type =“text”name =“search”placeholder =“输入关键字...”/>
 < input type =“image”src =“./ img / search-icon.png”alt =“submit”/>
 < /形式>
 < / DIV>
< / NOSCRIPT>
 代码>


答案 0 :(得分:4)
noscript标签只显示是否没有打开JS。 没有特定于noscript的安全问题。请注意,我没有分析您实际代码的安全性,只是回答有关noscript安全性的具体问题。
我还要指出,您的整理</style>
标记格式错误(注意:此问题已在问题代码中修复)。这会给你带来问题。
我还要指出,考虑到两者之间的标记几乎相同,除了它使用的PHP文件和div的类名之外,还有一种更简单的方法。
只使用假设没有JS的标记,然后使用 JS替换那些的2位数据。这样,当没有JS它有适当的标记时,当有JS时,JS为JS版本制作了正确的标记,并且标记中只有一个表单供你处理。
答案 1 :(得分:1)
没有任何安全问题。
说完了,这种方法中的其他东西引起了我的注意。您似乎唯一的验证是客户端。 Javascript完全是客户端的,因此如果客户希望这样做(可以或不能触发HashMap
,直到客户的选择),并且如果您没有验证有关的信息,则可以禁用Javascript。 服务器端,在客户端的完全控制中考虑您的输入 - 在大多数情况下,这是非常有问题的,因为它可能会引发基于输入的漏洞,例如{{3} }或injections。