zoukankan      html  css  js  c++  java
  • 看好你的门-客户端传数据-用java修改referer

    1、简单说明

    Referer、origin用来表明,浏览器向WEB服务器表明自己来自哪里。
    但是就它本身而言,并非完全安全。

    写一个例子,可以任意修改http信息头中的referer、origin

    2、准备:

    用httpClient4.0来具体实现

    3、Java修改http信息头referer、origin的源代码

    代码非常简单,就是修改了http头的referer、origin。

    配套示例的jsp在:http://blog.csdn.net/ffm83/article/details/44095025

    源代码如下:

    /**
     * 用httpClient 模拟修改referer属性,仅供用于WEB安全防范示例。
     * 
     * @author auth
     */
    public class EasyModifyHeader {
        public static void main(String[] args) throws Exception {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            try {
                String url = "http://www.wuranyubao.cn/wryb_rdcity.php";
                HttpPost httpPost = new HttpPost(url);
                //设置防外链头信息
                httpPost.setHeader("origin", "http://www.wuranyubao.cn");
                httpPost.setHeader("referer", "http://www.wuranyubao.cn/wryb_prev.php?movie=no");
                //建立HttpPost对象
                List<NameValuePair> params=new ArrayList<NameValuePair>();
                //建立一个NameValuePair数组,用于存储欲传送的参数
                params.add(new BasicNameValuePair("rdcity","Shandong,Jinan,20151121"));
                httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
                CloseableHttpResponse response = httpclient.execute(httpPost);
                try {
                    HttpEntity entity = response.getEntity();
                    //打印目标网站输出内容
                    System.out.println(EntityUtils.toString(entity));
                    EntityUtils.consume(entity);
                } finally {
                    response.close();
                }
            } finally {
                httpclient.close();
            }
        }
    }

    本文转自:http://www.2cto.com/Article/201503/380951.html

    jar包下载:http://download.csdn.net/detail/y515789/8470829

  • 相关阅读:
    MySQL进阶:主主复制+Keepalived高可用
    Zabbix 5.0:磁盘自动发现和读写监控
    Zabbix 5.0 优化建议
    容器进阶:OCI与容器运行时
    openresty快速安装
    ansible:playbook详解
    Shell:如何遍历包含空格的文本
    Linux性能优化:内存使用情况分析
    Shell:如何写一个多选菜单的脚本
    算法路漫漫(二) 递归与归并
  • 原文地址:https://www.cnblogs.com/dreammyle/p/4987624.html
Copyright © 2011-2022 走看看