fix #1494 improve invalid referer response
This commit is contained in:
parent
cff518ad60
commit
26b4d202e6
3 changed files with 17 additions and 13 deletions
|
@ -77,10 +77,6 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final String servletPath = request.getServletPath();
|
||||
return servletPath.startsWith(gsaPathPrefix);
|
||||
}
|
||||
|
@ -93,7 +89,7 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
|
|||
processSearchRequest(request, response, chain);
|
||||
break;
|
||||
default:
|
||||
writeXmlResponse(-1, false, StringUtil.EMPTY, "Not found.");
|
||||
writeXmlResponse(99, false, StringUtil.EMPTY, "Not found.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -102,6 +98,11 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
|
|||
final SearchService searchService = ComponentUtil.getComponent(SearchService.class);
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
writeXmlResponse(99, false, StringUtil.EMPTY, "Referer is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
int status = 0;
|
||||
String errMsg = StringUtil.EMPTY;
|
||||
String query = null;
|
||||
|
|
|
@ -84,10 +84,6 @@ public class JsonApiManager extends BaseJsonApiManager {
|
|||
}
|
||||
}
|
||||
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final String servletPath = request.getServletPath();
|
||||
return servletPath.startsWith(pathPrefix);
|
||||
}
|
||||
|
@ -127,6 +123,11 @@ public class JsonApiManager extends BaseJsonApiManager {
|
|||
final SearchService searchService = ComponentUtil.getComponent(SearchService.class);
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
writeJsonResponse(99, StringUtil.EMPTY, "Referer is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fessConfig.isApiSearchScroll()) {
|
||||
writeJsonResponse(99, StringUtil.EMPTY, "Scroll Search is not available.");
|
||||
return;
|
||||
|
|
|
@ -55,10 +55,6 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
|
||||
@Override
|
||||
public boolean matches(final HttpServletRequest request) {
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
return false;
|
||||
}
|
||||
final String servletPath = request.getServletPath();
|
||||
return servletPath.startsWith(pathPrefix);
|
||||
}
|
||||
|
@ -66,6 +62,12 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
@Override
|
||||
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException,
|
||||
ServletException {
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
|
||||
writeJsonResponse(99, StringUtil.EMPTY, "Referer is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
int status = 0;
|
||||
String errMsg = StringUtil.EMPTY;
|
||||
final StringBuilder buf = new StringBuilder(255); // TODO replace response stream
|
||||
|
|
Loading…
Add table
Reference in a new issue