通过 HTTP 中的 refer 字段判定是否是指定网站请求图片
在展示页面中加入属性
private static HashSet<String> whiteList = new HashSet<>();
static {
//把可以访问的路径放入集合
whiteList.add("http://localhost:8080/java_image_server/index.html");
}
并在DoGet方法中加入以下逻辑
// 校验 refer 是否在白名单中
String referer = req.getHeader("Referer");
if (!whiteList.contains(referer)) {
resp.setContentType("application/json; charset:utf-8");
resp.getWriter().write("{\"ok\": false, \"reason\": \"未授权使用\"}");
return;
}
可以通过HTTP请求中的Referer字段判断,若在whiteList集合中没有包含(指定网站的Http请求中的referer字段)这个元素,代表当前网址不在白名单内,返回一个JSON字符串告知未授权