【问题标题】:Which is the best security technique for my javascript plugin哪个是我的 javascript 插件的最佳安全技术
【发布时间】:2011-12-06 09:02:13
【问题描述】:

我的插件的流程如下图所示:

要求是使onclick 事务在身份验证后发生。也就是说,只有包含page.html 的域的所有者已经在我的站点注册(例如www.MyPluginJS.com/register)才能使用MyPlugin.js。

我的注册门户在成功申请后吐出Client ID

我的问题是:

  1. 为了使onclick 交易安全,我需要使用什么最佳方法?
  2. 为了确保交易安全进行,我可能需要哪些其他参数(例如:MD5 指纹)?
  3. 是否有任何我可以利用的现有框架(例如 OAuth)?

我需要一种方法来阻止未注册的人使用 MyPlugin.js。

我对安全技术缺乏经验,但我可以编写代码。

提前致谢:)

【问题讨论】:

  • 真正谈论 javascript 的安全性是不现实的 - 我会根据您获得的任何身份验证令牌找到一种方法来允许/阻止从服务器端访问该 .js 文件...
  • @Leon 感谢您抽出宝贵时间 :) 我如何阻止对 .js 文件的访问??
  • 您确实需要将业务逻辑包装到服务器中。任何 javascript 都会被暴露。任何人都可以复制您的 javascript 文件并在本地提供它,请记住,如果愿意,任何人都可以使用控制台手动调用任何 javascript 函数。 Javascript 使事情在客户端很好地工作,但任何重要的事情都必须发生在服务器端,你必须始终清理来自 javascript 插件的任何输入。

标签: javascript authentication plugins security


【解决方案1】:

您可以使用某种服务器端语言为 JS 文件提供服务,并向 js 文件的请求添加键/值对,例如:MyPlugin.js?key=someValue。您的脚本可以将该值与您存储授权用户的一些数据库表值进行比较。

HTH, 米格尔

【讨论】:

    【解决方案2】:

    通过使用jQuery,您可以利用函数$.getScript(url)从服务器端加载javascript文件,避免使用<script>标签。

    这个想法是将 getScript 函数指向一个服务器端脚本,该脚本将首先验证您的用户会话,如果会话有效,它将返回要加载的 javascript 文件内容,否则返回无效的 javascript 文件。

    【讨论】:

      【解决方案3】:

      我认为您应该使用在服务器端创建的session 来确保用户已登录。然后您可以检查客户端(为了用户方便)是否设置了会话变量,然后验证会话服务器端(出于安全考虑)以避免用户篡改客户端代码。

      然后您可以使用 AJAX 将插件页面的内容加载到 iframe 中。 jQuery 让 AJAX 更易于管理。

      所以我的简单答案是使用服务器端脚本和会话变量来确保安全性,并在客户端使用 jQuery 和 AJAX 以方便用户。

      【讨论】:

        猜你喜欢
        • 2012-07-31
        • 2011-03-10
        • 1970-01-01
        • 2022-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-31
        • 1970-01-01
        相关资源
        最近更新 更多