判断请求是通过点击链接还是直接输入网址

代码如下:

/**
     * 判断请求是通过点击链接还是直接输入网址
     * @param request
     * @return
     */
    public static boolean isFromClickUrl(HttpServletRequest request){
    	String refer = request.getHeader("Referer");
    	String host = request.getHeader("Host");
    	if(host != null){
    		if(refer == null || "".equals(refer)){
        		//此情况为在浏览器中输入地址
        		return false;
        	}else{
        		String[] urls = refer.split("//");
        		if(urls != null && urls.length > 1){
        			String tmpHost = urls[1].substring(0,urls[1].indexOf("/"));
            		//判断是否是从我们的主机发起的请求
        			if(host.equals(tmpHost))
        				return true;
        			else
        				return false;
        		}
        	}
    	}
    	return false;
    }


你可能感兴趣的:(Web,限制,请求,Referer)