2014-12-08 123 views
-1

我有一个servlet,它将连接到数据库并给出响应。它将通过ajax调用在另一个jsp页面中调用。只允许通过jsp页面访问Servlet;不直接

但是,如果用户知道servlet路径,他们可以直接从浏览器中打开我的servlet。我的要求是我想让他们只通过ajax而不是直接访问我的servlet。我怎么能做到这一点?

回答

0

如果通过Ajax调用servlet,这意味着用户已经使用直接HTTP请求调用它来调用它。

你不能限制一个进取的用户不弄清楚他可以直接调用哪个URL和追加哪些参数以获得有利的结果。

您可以尝试查看引荐标题,但这些也可能是伪造的。

您的应用程序不得依赖那些不会干扰请求模式(或其cookie或Javascript)的用户,因为这与安全相关。不要盲目信任任何用户输入,确认所有内容(针对不能被篡改的服务器端状态)。

这就是客户端 - 服务器编程的本质(特别是在诸如公共互联网之类的全球网络上,这样的开放式客户端作为web浏览器)。