【发布时间】:2013-09-22 09:18:08
【问题描述】:
我有一个 servlet,它在提交表单时发送电子邮件,它工作正常。这是从客户端调用在 sendMailServiceImpl 上实现的sendMail() 完成的。
我的问题是关于安全性的:有没有办法让某人输入一个特定的 URL 并发送这些电子邮件?类似http://myproject.appspot.com/myproject/sendmail?name=aaa&email=aa@aa.com
<servlet>
<servlet-name>sendMailServiceImpl</servlet-name>
<servlet-class>com.gw.myproject.server.SendMailServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sendMailServiceImpl</servlet-name>
<url-pattern>/myproject/sendMail</url-pattern>
</servlet-mapping>
【问题讨论】:
-
如果电子邮件是一个请求参数,为什么不可能呢?您的问题的答案可能是肯定的,但您至少尝试过吗?
-
我有并且我得到 no-found 错误。不知道是地址输入错误还是被禁止了。
-
可能不是作为url参数,而是在payload中。
-
接受一个有效的请求(你可以使用 Chrome 检查器并在 devtools 的 Network 标签中看到它),修改它,看看它是否仍然有效。
-
您的 URL 看起来像一个 HTTP GET 请求。我相信 GWT servlet 默认使用 POST 请求。您应该发出 POST 请求,并查看这篇文章以了解如何与 GWT RPC 方法交互:stackoverflow.com/questions/6135590/gwt-rpc-data-format
标签: java security gwt servlets rpc