2013-09-17 2 views
1

У меня есть сервлет, который отправляет электронные письма при отправке формы, и работает отлично. Это делается с клиентской стороны sendMail(), которая реализована в sendMailServiceImpl.GWT RPC call from URL

Мой вопрос касается безопасности: есть ли способ, которым кто-то помещает определенный URL-адрес, и эти электронные письма отправляются? Что-то вроде http://myproject.appspot.com/myproject/sendmail?name=aaa&[email protected]

<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> 
+0

Если электронная почта является параметр запроса, почему это не было бы возможно? Ответ на ваш вопрос, вероятно, да, но вы хотя бы пробовали его? –

+0

У меня есть и я обнаружил ошибку. Я не знал, если это потому, что я набираю неправильный адрес или если это запрещено. – Arturo

+0

Наверное, не как параметры URL, а в полезной нагрузке. – AnAmuser

ответ

2

Вполне возможно, что кто-то передавать данные с помощью GWT-RPC. Есть attacking scenarios decribedowasp

GWT-RPC использует POST-запрос. Сервлет не будет слушать GET. Включаются некоторые механизмы, которые потребуют некоторой информации о запросе (сильная политика и политика сериализации) и the protocol itself.

Но если кто-то затребовал запрос, он также может отправить запрос.

Запрос защищен от XSS из-за политики того же происхождения. Но это не поможет против запросов от простого Java или Python или браузер, которые запущен при помощи --disable-web-security

Передней еще несколько деталей: GWT RPC data format