javascript - jquery ajax - 安全问题

标签 javascript jquery security

以下安全吗?

index.html

    <div id="loader">loading...</div>
    <div onclick="foo()">click me</div>
    <div id="change"></div>
     <script>
        function foo(){
           jQuery.ajax({
              url: 'get.html',
              success: function(txt){
                  var x = $('#loader').html(txt)
              x=$('loader').find('script').html()
              eval(x)
          }
       })
    }
    </script>

获取.html

<div>Header</div>
<script>
   function newfoo(){
        $('#change').html('hello world')
   }
</script>

理论上这应该有效......

注意:上面可能不起作用,这只是一个演示......

我的问题是:由于某些安全原因,当加载 get.html 时 newFoo() 不会自行运行...上述替代方案是否会造成任何安全威胁?

最佳答案

就像这样,该代码并不安全,因为可以通过设置 <script> 的目标从任何服务器轻松使用它。到它的网址。因此,任何感兴趣的人都可以从任何服务器调用此脚本。不太安全。

不过有一些解决方法。 gmail 的方式是将 while(1) 附加到要返回的函数的开头,然后在执行代码之前在客户端将其删除。因为<script>会自动执行该代码,除了本地运行的脚本之外,没有人能够使用该代码。

关于javascript - jquery ajax - 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060982/

相关文章:

javascript - CSS 矩形作为链接

javascript - 使用 jquery 1.7 同步 POST

javascript - 将 javascript var 值发送到 php 页面(不是 ajax)

javascript - 注入(inject)代码时不带 src 属性?

php - 登录凭据安全 PHP MySQL

java - 使用 JDBC 将自己制作的 Windows 凭据传递到 SQL Server

javascript - 如何将同一个帖子发送到多个服务器并将数据与单个帖子关联

php - 我想让用户使用可选面板更改 CSS。我应该怎么做?

jquery - 下拉菜单的样式选项标签

security - SSL如何识别客户端?