安全问题:对于REST URL和静态HTML

时间:2011-09-05 14:34:51

标签: java security spring http rest

我有这样的设计:

  • 有一个核心部分用REST运行Spring。

  • 还有另一部分有一个Tomcat服务器并且只有HTML文件(不是jsp或其他任何东西。)所以如果我想在tomcat端更改页面,则无需重启应用程序也设计和编码部分分开。让我们接受我在我的网站(tomcat侧)列出用户。然后我的Web端发出GET请求,响应来自JSON。 PUT,DELETE和POST采用相同的方法。

此时我有2个安全问题。

首先 ,当用户想要在服务器端看到URL时,我将如何检查授权和身份验证?我怎样才能限制授权人员将我的网页设置为太多wget?

第二次 ,如何隐藏我的REST网址。例如,如果用户调试我的JavaScript代码,他/她将看到我正在向具有某些参数的URL发出DELETE请求,因此他/她将尝试执行相同的操作(或者如果他/她可以向我的核心服务器发出数千个GET请求,学习URL)

感谢您的建议。

1 个答案:

答案 0 :(得分:2)

首先,为什么要使用Tomcat来提供静态文件? 我将采取的方法是:

  • 使用静态服务器来提供静态文件(apache,lighttpd,nginx)。
    • 此服务器将执行authN和authZ(使用LDAP目录,例如或任何其他合适的身份验证后端)。
    • 使用Http Basic + SSL,Http Digest,WebID等方案完成AuthN ...

这是第一个问题的解决方案

  • 配置静态服务器以反向代理您的应用服务器并使用相同的身份验证规则。

URI不是“隐藏”的,但任何人都无法访问它们。由于用户已经对静态页面进行了身份验证,因此不需要auth来请求“rest uri”。