当前位置:  开发笔记 > 编程语言 > 正文

阻止任何人执行您的Web服务?

如何解决《阻止任何人执行您的Web服务?》经验,为你挑选了1个好方法。

我有一个通过javascript(jquery)执行的web服务来从数据库中检索数据.我想确保只有我的网页才能执行这些网页方法(即我不希望人们直接执行这些网页方法 - 他们可以通过查看javascript的源代码来查找网址).
我打算做的是为所有web方法添加一个'Key'参数.密钥将存储在隐藏字段的网页中,并且当请求网页时,Web服务器将动态设置该值.键值仅对5分钟有效.这样,当需要执行web方法时,javascript会将密钥传递给webmethod,webmethod会在做任何需要做的事情之前检查密钥是否有效.
如果有人想直接执行web方法,他们就不会拥有使他们无法执行的方法.
你对此有何看法?有更好的解决方案吗?您是否预见到我的解决方案有任何问题?

更多信息:对于我正在做的事情,访问者没有登录,所以我不能使用会话.我知道,如果有人真的想打破这个,他们可以解析html代码并获得隐藏字段的值,但是他们必须定期这样做,因为密钥每隔x分钟就会改变......这当然是可能的但是希望对他们来说是一种痛苦.

编辑:我正在做的是一个Web应用程序(而不是一个网站).通过Web方法(+ jquery)检索数据.我想阻止任何人使用我的数据构建自己的Web应用程序(如果他们可以执行Web方法,他们就可以).显然这对他们来说是一个风险,因为我可以随时更改网络方法.

我可能会选择推荐人选项.它并不完美,但很容易实现.我不想花太多时间在这上面,因为有些人说如果有人真的想打破它,他们无论如何都会找到解决方案.

谢谢.



1> NuclearDog..:

好吧,它没有任何技术上的错误,但你的假设是"它们没有能使它们无法执行它们的密钥"是不正确的,因此整个事物的安全性是有缺陷的.

检索隐藏字段的值并使用它来执行方法非常简单.

我会为您节省大量时间和挫折:如果用户的浏览器可以执行该方法,则确定的用户可以.你无法阻止它.

话虽如此,还有关于你为什么要这样做的更多信息?背景是什么?也许还有其他东西可以实现你的目标,我们可以建议,如果我们知道更多:)

编辑:那里没有更多的信息,但我会用它运行.您的解决方案根本不会增加安全性,并且会在维护和错误方面给您带来麻烦.它还会给您的用户带来麻烦,因为他们会有一个"不可见"的时间限制,可以在页面上执行操作.根据你到目前为止告诉我们的内容,我会说你最好什么也不做.

你想在这里保护什么样的方法?你为什么要保护他们?

ND

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有