欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php模擬post行為代碼總結(jié)(POST方式不是絕對(duì)安全)

 更新時(shí)間:2012年02月22日 21:11:56   作者:  
GET行為比較簡(jiǎn)單,POST比較復(fù)雜一些
這里提供兩種方法供選擇:第一:手寫代碼。第二:利用HttpClient php類庫(kù)
  第一種方法:
復(fù)制代碼 代碼如下:

<?PHP
$flag = 0;
//要post的數(shù)據(jù)
$argv = array(
'var1'=>'abc',
'var2'=>'你好嗎');
//構(gòu)造要post的字符串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//創(chuàng)建socket連接
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
//構(gòu)造post請(qǐng)求的頭
$header = "POST /mobile/try.php HTTP/1.1";
$header .= "Host:127.0.0.1";
$header .= "Referer:/mobile/sendpost.php";
$header .= "Content-Type: application/x-www-form-urlencoded";
$header .= "Content-Length: ".$length."";
$header .= "Connection: Close";
//添加post的字符串
$header .= $params."";
//發(fā)送post的數(shù)據(jù)
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除請(qǐng)求包的頭只顯示頁(yè)面的返回?cái)?shù)據(jù)
if ($inheader && ($line == "n" || $line == "")) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
?>

  第二種方法是:使用httpclient類
復(fù)制代碼 代碼如下:

$pageContents = HttpClient::quickPost('http://example.com/someForm', array(
'name' => 'Some Name',
'email' => 'email@example.com'
));

  使用httpclient類庫(kù),可以去官方下載最新的類庫(kù),官方地址為:http://scripts.incutio.com/httpclient/index.php
  附加一些點(diǎn)php httpclient的其他幾個(gè)用法
  靜態(tài)方法獲取網(wǎng)頁(yè):
復(fù)制代碼 代碼如下:

$pageContents = HttpClient::quickGet('http://bankcha.com')

  Get方法獲取
復(fù)制代碼 代碼如下:

$client = new HttpClient('bankcha.com');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  帶調(diào)試的Get方法獲取
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  帶自動(dòng)轉(zhuǎn)向的Get方法
  PHP代碼
  $client = new HttpClient('www.bankcha.com');
$client->setDebug(true);
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  檢查頁(yè)面是否存在
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
if (!$client->get('/thispagedoesnotexist')) {
die('An error occurred: '.$client->getError());
}
if ($client->getStatus() == '404') {
echo 'Page does not exist!';
}
$pageContents = $client->getContent();
  偽造客戶端
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
$client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  登錄驗(yàn)證并請(qǐng)求一個(gè)網(wǎng)頁(yè)
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->post('/login.php', array(
'username' => 'Simon',
'password' => 'ducks'
));
if (!$client->get('/private.php')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  HTTP授權(quán)
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setAuthorization('Username', 'Password');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  輸出頭信息
  PHP代碼
$client = new HttpClient('bankcha.com');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
print_r($client->getHeaders());
  設(shè)置一個(gè)域內(nèi)重定向最多次數(shù)
  PHP代碼
$client = new HttpClient('www.bankcha.com');
$client->setDebug(true);
$client->setMaxRedirects(3);
$client->get('/');

php fsockopen 偽造 post和get方法
fsockopen 偽造 post和get方法哦,如果你正在找 偽造 post和get方法的php處理代碼這款不錯(cuò)哦。
復(fù)制代碼 代碼如下:

<?php
//fsocket模擬post提交
$purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr";
print_r(parse_url($url));
sock_post($purl,"uu=55555555555555555");
//fsocket模擬get提交
function sock_get($url, $query)
{
$info = parse_url($url);
$fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
$head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0rn";
$head .= "Host: ".$info['host']."rn";
$head .= "rn";
$write = fputs($fp, $head);
while (!feof($fp))
{
$line = fread($fp,4096);
echo $line;
}
}
sock_post($purl,"uu=rrrrrrrrrrrrrrrr");
function sock_post($url, $query)
{
$info = parse_url($url);
$fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
$head = "POST ".$info['path']."?".$info["query"]." HTTP/1.0rn";
$head .= "Host: ".$info['host']."rn";
$head .= "Referer: http://".$info['host'].$info['path']."rn";
$head .= "Content-type: application/x-www-form-urlencodedrn";
$head .= "Content-Length: ".strlen(trim($query))."rn";
$head .= "rn";
$head .= trim($query);
$write = fputs($fp, $head);
while (!feof($fp))
{
$line = fread($fp,4096);
echo $line;
}
}
?>

相關(guān)文章

  • PHP __autoload()方法真的影響性能嗎?

    PHP __autoload()方法真的影響性能嗎?

    對(duì)于php性能問(wèn)題,議論最多的就是__autoload()方法,很多人提到這個(gè)方法非常影響性能。還有人說(shuō)opcode也能影響到__autoload()方法,所以針對(duì)這兩點(diǎn)我做了個(gè)測(cè)試
    2012-03-03
  • php 常用類整理

    php 常用類整理

    在實(shí)際開(kāi)發(fā)過(guò)程會(huì)經(jīng)常會(huì)遇到一些重復(fù)的操作,如果每次都要自己去實(shí)現(xiàn)這無(wú)疑加重了自己的工作量,下面對(duì)一些可能經(jīng)常用到的類做個(gè)整理.
    2009-12-12
  • pdo中使用參數(shù)化查詢sql

    pdo中使用參數(shù)化查詢sql

    在使用參數(shù)化查詢的情況下,數(shù)據(jù)庫(kù)服務(wù)器不會(huì)將參數(shù)的內(nèi)容視為SQL指令的一部份來(lái)處理,而是在數(shù)據(jù)庫(kù)完成 SQL 指令的編譯后,才套用參數(shù)運(yùn)行,因此就算參數(shù)中含有具破壞性的指令,也不會(huì)被數(shù)據(jù)庫(kù)所運(yùn)行。
    2011-08-08
  • php的dl函數(shù)用法實(shí)例

    php的dl函數(shù)用法實(shí)例

    這篇文章主要介紹了php的dl函數(shù)用法,以實(shí)例形式講述了利用dl函數(shù)突破PHP設(shè)置上的限制,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • 零基礎(chǔ)php編程好學(xué)嗎

    零基礎(chǔ)php編程好學(xué)嗎

    在本篇文章里小編給大家整理的是關(guān)于零基礎(chǔ)php編程好學(xué)嗎的相關(guān)文章,有需要的朋友們可以參考下。
    2019-10-10
  • thinkphp自定義權(quán)限管理之名稱判斷方法

    thinkphp自定義權(quán)限管理之名稱判斷方法

    下面小編就為大家?guī)?lái)一篇thinkphp自定義權(quán)限管理之名稱判斷方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • PHP入門教程之操作符與控制結(jié)構(gòu)流程詳解

    PHP入門教程之操作符與控制結(jié)構(gòu)流程詳解

    這篇文章主要介紹了PHP入門教程之操作符與控制結(jié)構(gòu)流程,結(jié)合實(shí)例形式詳細(xì)分析了php基本的賦值、自增、比較、三目運(yùn)算符以及if語(yǔ)句、switch語(yǔ)句、for語(yǔ)句等流程控制語(yǔ)句的使用技巧,需要的朋友可以參考下
    2016-09-09
  • PHP中最低級(jí)別的錯(cuò)誤類型總結(jié)

    PHP中最低級(jí)別的錯(cuò)誤類型總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于PHP中最低級(jí)別的錯(cuò)誤類型總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2022-01-01
  • PHP的時(shí)間戳與具體時(shí)間轉(zhuǎn)化的簡(jiǎn)單實(shí)現(xiàn)

    PHP的時(shí)間戳與具體時(shí)間轉(zhuǎn)化的簡(jiǎn)單實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇PHP的時(shí)間戳與具體時(shí)間轉(zhuǎn)化的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • php無(wú)限級(jí)分類實(shí)現(xiàn)方法分析

    php無(wú)限級(jí)分類實(shí)現(xiàn)方法分析

    這篇文章主要介紹了php無(wú)限級(jí)分類實(shí)現(xiàn)方法,結(jié)合2個(gè)簡(jiǎn)單實(shí)例形式分析了php通過(guò)遞歸與普通算法實(shí)現(xiàn)無(wú)限級(jí)分類的相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10

最新評(píng)論