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


 < script type =“text / javascript”src =“/ js / myScipt.js?v = 3 “>< / script>



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


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



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


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

答案 0 :(得分:1)
好吧,安全性不是我用来引用javascript的东西。所有客户端代码都可浏览,可编辑,可利用。只要您的服务器代码假设用户输入可能被伪造/损坏,那么您在javascript中所做的事情并不重要。所有javascritp框架都在浏览器中放置了很多逻辑,从而允许用户搞砸它,这并不意味着那些框架是坏的,而且请求也可以伪造,所以,简短的回答是......安全漏洞不在您的客户,但在您的服务器中。你的客户是一个大洞"根据定义,所有来自它的必须被视为危险的。
你必须要问自己:"用户是否可以向服务器请求/推送一些会产生不需要的执行的东西" ?您可以让客户端用户要求格式化您的硬盘或检索所有用户的密码。期待这种情况发生。但是......你的服务器会允许吗?