看好你的門-客戶端傳數據-用java修改referer -开发者知识库

看好你的門-客戶端傳數據-用java修改referer -开发者知识库,第1张

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();
        }
    }
}

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复