在 another question ,我问是否可以这样做:
<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 和图像)插入到页面中。
最佳答案
嗯,安全这个词我不会用来指代 javascript 的东西。所有客户端代码都是可浏览、可编辑、可利用的。只要您的服务器代码假设用户输入可以被伪造/损坏,您在 javascript 中做什么并不重要。所有 javascritp 框架都在浏览器中放置了大量逻辑,从而允许用户对其进行困惑,这并不意味着这些框架不好,而且请求也可以伪造,所以,简短的答案是......安全漏洞不存在您的客户端,但在您的服务器中。从定义上来说,你的客户是一个“大洞”,所有来自它的东西都必须被视为危险的。
您必须问自己的是:“用户是否可以向服务器请求/推送某些内容,从而产生不需要的执行”?您可以让客户端用户要求格式化您的硬盘或检索所有用户的密码。期待这种情况发生。但是...你的服务器允许吗?
关于javascript - 从 <script> 链接获取查询字符串的安全风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40263286/