post提交數(shù)據(jù)php post提交數(shù)據(jù)安全嗎

php 接收到之后post數(shù)據(jù)寫入數(shù)據(jù)庫

form表單demo:task.html

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鄭州免費(fèi)建站歡迎大家使用!

fieldset id="setFiled"

legend發(fā)布任務(wù)/legend

form action="registr.php" method="post" id="steForm"

label任務(wù)類型:/labelbr

input type="text" name="type"? id="taskType" placeholder="請選擇任務(wù)類型"/br

label酬nbsp;nbsp;金:/labelbr

input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr

label截止時間:/labelbr

input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr

label詳細(xì)描述:/labelbr

textarea maxlength="512" name="textAray" id="msgArea"/textareabr

input type="submit" name="subMit" id="forSub" value="點(diǎn)擊發(fā)布" /

/form

擴(kuò)展資料

php接收POST數(shù)據(jù)的三種方式

1、$_POST 方式接受數(shù)據(jù)

$_POST 方式是由通過HTTP的POST方法傳遞過來的數(shù)據(jù)組成的數(shù)組,是一個自動全局變量。

注:只能接收Content-Type:application/x-www-form-urlencode提交的數(shù)據(jù)。也就是只能接收表單過來的數(shù)據(jù)。

2、GLOBLES[‘HTTP_RAW_POST_DATA’]

如果訪問原始POST數(shù)據(jù)不是php能夠識別的文檔類型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]來接收,$HTTP_RAW_POST_DATA變量包含有原始POST數(shù)據(jù)。此變量僅在碰到未識別的MIME數(shù)據(jù)時產(chǎn)生。

注:$HTTP_RAW_POST_DATA對于enctype=”multipart/form-data”表單數(shù)據(jù)不可用,也就是說使用$HTTP_RAW_POST_DATA無法接受網(wǎng)頁表單post過來的數(shù)據(jù)。

3、file_get_contents(“php://input”);

如果訪問原始POST數(shù)據(jù),更好的方法是使用file_get_content(“php://input”);對于未指定Content-Type的POST數(shù)據(jù),可以使用該方法讀取POST原始數(shù)據(jù),包括二進(jìn)制流也可以和$HTTP_RAW_POST_DATA比起來。它帶來的生存眼里更小,并且不需要任何特殊的php.ini設(shè)置。

注:php://input不能用于 enctype=”multipart/form-data”

例如:$postStr = file_get_contents("php://input"); //獲取POST數(shù)據(jù)

php 提交post數(shù)據(jù)的問題

在php中要模擬post請求數(shù)據(jù)提交我們會使用到curl函數(shù),下面我來給大家舉幾個curl模擬post請求提交數(shù)據(jù)例子有需要的朋友可參考參考。

注意:curl函數(shù)在php中默認(rèn)是不被支持的,如果需要使用curl函數(shù)我們需在改一改你的php.ini文件的設(shè)置,找到php_curl.dll去掉前面的";"就行了

例1

?php

$uri = "";

// 參數(shù)數(shù)組

$data = array (

'name' = 'tanteng'

// 'password' = 'password'

);

$ch = curl_init ();

// print_r($ch);

curl_setopt ( $ch, CURLOPT_URL, $uri );

curl_setopt ( $ch, CURLOPT_POST, 1 );

curl_setopt ( $ch, CURLOPT_HEADER, 0 );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );

$return = curl_exec ( $ch );

curl_close ( $ch );

print_r($return);

接受php頁面遠(yuǎn)程服務(wù)器:

?php

if(isset($_POST['name'])){

if(!empty($_POST['name'])){

echo '您好,',$_POST['name'].'!';

}

}

?

例2

用CURL模擬POST請求抓取郵編與地址

完整代碼: 代碼如下

#!/usr/local/php/bin/php

?php

$runtime = new runtime ();

$runtime-start ();

$cookie_jar = tempnam('/tmp','cookie');

$filename = $argv[1];

$start_num= $argv[2];

$end_num = $argv[3];

for($i=$start_num; $i$end_num; $i++){

$zip = sprintf('6s',$i);

$fields_post = array(

'postcode' = $zip,

'queryKind' = 2,

'reqCode' = 'gotoSearch',

'search_button.x'=37,

'search_button.y'=12

);

$fields_string = http_build_query ( $fields_post, '' );

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "URL?reqCode=gotoSearchqueryKind=2postcode=".$zip);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120 );

curl_setopt($ch, CURLOPT_REFERER, $refer );

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login );

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar );

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar );

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($ch, CURLOPT_POST, 1); // 發(fā)送一個常規(guī)的Post請求

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string );

$data = curl_exec($ch);

preg_match_all('/id="table1"[s]*?tr[s]*?td class="maintext"[sS]*?/td[s]*?/tr/', $data, $matches);

if (!$handle = fopen($filename, 'a+')) {

echo "不能打開文件 $filename";

echo "n";

exit;

}

if (fwrite($handle, $matches[0][1]) === FALSE) {

echo "不能寫入到文件 $filename";

echo "n";

exit;

}

echo "成功地將 $somecontent 寫入到文件$filename";

echo "n";

fclose($handle);

curl_close($ch);

}

class runtime

{

var $StartTime = 0;

var $StopTime = 0;

function get_microtime()

{

list($usec,$sec)=explode(' ',microtime());return((float)$usec+(float)$sec);

}

function start()

{

$this-StartTime=$this-get_microtime();

}

function stop(){

$this-StopTime=$this-get_microtime();

}

function spent()

{

return ($this-StopTime-$this-StartTime);

}

}

$runtime-stop ();

$con = 'Processed in'.$runtime-spent().'seconds';

echo 'Processed in'. $runtime-spent().'seconds';

模擬POST請求 提交數(shù)據(jù)或上傳文件 .

.

代碼如下 復(fù)制代碼

發(fā)送POST請求

function execUpload(){

$file = '/doucment/Readme.txt';

$ch = curl_init();

$post_data = array(

'loginfield' = 'username',

'username' = 'ybb',

'password' = '123456',

'file' = '@d:usrwwwtranslatedocumentReadme.txt'

);

curl_setopt($ch, CURLOPT_HEADER, false);

//啟用時會發(fā)送一個常規(guī)的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);

curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);

curl_setopt($ch, CURLOPT_URL, '');

$info= curl_exec($ch);

curl_close($ch);

print_r($info);

}

2.

function handleUpload(){

print_r($_POST);

echo '===file upload info:';

print_r($_FILES);

}

■cURL 函數(shù)

■curl_close — 關(guān)閉一個cURL會話

■curl_copy_handle — 復(fù)制一個cURL句柄和它的所有選項(xiàng)

■curl_errno — 返回最后一次的錯誤號

■curl_error — 返回一個保護(hù)當(dāng)前會話最近一次錯誤的字符串

■curl_exec — 執(zhí)行一個cURL會話

■curl_getinfo — 獲取一個cURL連接資源句柄的信息

■curl_init — 初始化一個cURL會話

■curl_multi_add_handle — 向curl批處理會話中添加單獨(dú)的curl句柄

■curl_multi_close — 關(guān)閉一組cURL句柄

■curl_multi_exec — 運(yùn)行當(dāng)前 cURL 句柄的子連接

■curl_multi_getcontent — 如果設(shè)置了CURLOPT_RETURNTRANSFER,則返回獲取的輸出的文本流

■curl_multi_info_read — 獲取當(dāng)前解析的cURL的相關(guān)傳輸信息

■curl_multi_init — 返回一個新cURL批處理句柄

■curl_multi_remove_handle — 移除curl批處理句柄資源中的某個句柄資源

■curl_multi_select — 等待所有cURL批處理中的活動連接

■curl_setopt_array — 為cURL傳輸會話批量設(shè)置選項(xiàng)

■curl_setopt — 設(shè)置一個cURL傳輸選項(xiàng)

■curl_version — 獲取cURL版本信息

求助PHP如何POST提交數(shù)據(jù)

用PHP向服務(wù)器發(fā)送HTTP的POST請求,代碼如下:

?php

/**????

*?發(fā)送post請求????

*?@param?string?$url?請求地址????

*?@param?array?$post_data?post鍵值對數(shù)據(jù)????

*?@return?string????

*/????

function?send_post($url,?$post_data)?{????

$postdata?=?http_build_query($post_data);????

$options?=?array(????

'http'?=?array(????

'method'?=?'POST',????

'header'?=?'Content-type:application/x-www-form-urlencoded',????

'content'?=?$postdata,????

'timeout'?=?15?*?60?//?超時時間(單位:s)????

)????

);????

$context?=?stream_context_create($options);????

$result?=?file_get_contents($url,?false,?$context);?????????????

return?$result;????

}

使用的時候直接調(diào)用上面定義的send_post方法:

$post_data?=?array(

'username'?=?'username',

'password'?=?'password'

);

send_post('網(wǎng)址',?$post_data);

PHP里模擬Post提交是什么意思?

php

表單提交常見的就是post和get

模擬提交就是通過其他技術(shù)達(dá)到post或get的效果

php

常見的模擬就是curl方式了

作用比如說刷票

每次提交它可以模擬ip

逃過ip限制

圖片上傳

可以post提交

不用模擬

當(dāng)前名稱:post提交數(shù)據(jù)php post提交數(shù)據(jù)安全嗎
本文網(wǎng)址:http://bm7419.com/article20/ddeggco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、響應(yīng)式網(wǎng)站、軟件開發(fā)網(wǎng)站收錄、企業(yè)建站、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營