Как определить, что запрос пришел с внешнего сервера в сервлете Java?
Как определить, что запрос, отправляемый сервлету, отправляется с внешнего сервера? Безопасно ли использовать getServerName
:
public class SaveVisitorServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String referer = req.getHeader("Referer");
if (!"www.myownhost.com".equals(req.getServerName())) {
saveRefereToDb(referer);
}
}
}
Таким образом, смысл в том, что если запрос не приходит с сервера, на котором развернут сервлет, в базу данных ничего не сохраняется.
Можно req.getServerName()
использоваться здесь?