Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于我的javascript插件,哪一种是最好的安全技术_Javascript_Authentication_Plugins_Security - Fatal编程技术网

对于我的javascript插件,哪一种是最好的安全技术

对于我的javascript插件,哪一种是最好的安全技术,javascript,authentication,plugins,security,Javascript,Authentication,Plugins,Security,我的插件的流程如下图所示: 要求是在身份验证后执行onclick事务。也就是说,只有当包含page.html的域的所有者已在我的站点注册(例如www.MyPluginJS.com/register)时,他/她才能使用MyPlugin.js 成功重新注册后,我的注册门户会弹出一个客户ID 我的问题是: 为了使onclick事务安全,我需要使用的最佳方法是什么 为确保交易安全进行,我可能需要哪些其他参数(例如:MD5指纹) 是否有我可以利用的现有框架(例如OAuth) 我需要一种方法来阻止未注册的

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

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

成功重新注册后,我的注册门户会弹出一个
客户ID

我的问题是:

  • 为了使
    onclick
    事务安全,我需要使用的最佳方法是什么
  • 为确保交易安全进行,我可能需要哪些其他参数(例如:MD5指纹)
  • 是否有我可以利用的现有框架(例如OAuth)
  • 我需要一种方法来阻止未注册的人使用MyPlugin.js

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


    提前感谢:)

    您可以使用一些服务器端语言提供JS文件,并在JS文件请求中添加一个键/值对,pe:MyPlugin.JS?key=someValue。脚本可以将该值与存储授权用户的某些DB表值进行比较

    嗯,, Miguel

    通过使用,您可以利用该函数从服务器端加载javascript文件,从而避免使用
    标记


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

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

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


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

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