从<script>链接获取查询字符串的安全风险?

时间:2016-10-26 13:13:07

标签: javascript jquery security hyperlink query-string

其他问题中,我询问是否可以这样做:

&#xA;&#xA;
 &lt; script type =“text / javascript”src =“/ js / myScipt.js?v = 3 “&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

然后使用jQuery或JavaScript在myScipt.js中获取v的值。显然,是的,可以这样做:

&#xA;&#xA;
  var getV = document.currentScript.src.split(“?v =”)[1]; // JS&#xA; var getV = $('script')。last()。attr(“src”)。split(“?v =”)[1]; // jQuery&#xA;  
&#xA;&#xA;

我的新问题 - 我是否创造了可以通过这种方式利用的任何安全风险?如果是这样,有没有办法清理queryString的值以消除风险?

&#xA;&#xA;

如果重要,myScript.js使用jQuery将基于某些条件构建的一些HTML(一些div和一个图像)插入到页面中。

&#XA;

1 个答案:

答案 0 :(得分:1)

好吧,安全性不是我用来引用javascript的东西。所有客户端代码都可浏览,可编辑,可利用。只要您的服务器代码假设用户输入可能被伪造/损坏,那么您在javascript中所做的事情并不重要。所有javascritp框架都在浏览器中放置了很多逻辑,从而允许用户搞砸它,这并不意味着那些框架是坏的,而且请求也可以伪造,所以,简短的回答是......安全漏洞不在您的客户,但在您的服务器中。你的客户是一个大洞&#34;根据定义,所有来自它的必须被视为危险的。

你必须要问自己:&#34;用户是否可以向服务器请求/推送一些会产生不需要的执行的东西&#34; ?您可以让客户端用户要求格式化您的硬盘或检索所有用户的密码。期待这种情况发生。但是......你的服务器会允许吗?