私が始めたアプリケーションには、クロスサイト偽造要求(CSFR)の予防措置がありますしかし、要求を得るためではありません。java - クロスサイト偽造要求を防ぐにはどうすればいいですか
私は、起源の起源と起源の目標を取得し、それぞれのホストを比較し、それらが一致するかどうかによって何かを行うことができるということも知らされました。現時点では、私は現在、いくつかの調査を行った後、以下を持っていますが、私はまだそこにいませんし、いくつかの追加の助けを使うことができます。私は職業には非常に慣れているので、私が正しい道にいるかどうかは分かりません。
String refererHost = ((HttpServletRequest) request).getHeader("referer");
String targetHost = request.getServerName();
try {
refererHost = new URI(refererHost).getHost();
if(!refererHost.equals(targetHost))
{
((HttpServletResponse) response).sendRedirect(((HttpServletRequest)request).getContextPath()+ADMIN_LOGOFF_URL);
}
} catch (MalformedURIException | NullPointerException e) {
request.getRequestDispatcher(ADMIN_LOGOFF_URL).forward(request, response);
}
GETリクエストは、HTTP仕様に従って状態に影響を与えるべきではありません。 CSRFからのリクエストを得るための最善の方法は、それを守ることです。あなたのコードに関しては、あなたが期待するように動作しないものを記述する必要があります。 – Taylor