phphttp驗證
① 在php中如何模擬HTTP_USER_AGENT,一個網站需要驗證這個,請問下怎麼模擬
<?php
//client
$ch=curl_init();
curl_setopt_array($ch,
array(
CURLOPT_URL=>'http://localhost/ua.php',
CURLOPT_USERAGENT=>"YeRenChai_v1.0",
CURLOPT_RETURNTRANSFER=>True,
CURLOPT_FOLLOWLOCATION=>True,
)
);
$response=curl_exec($ch);
if(!$response)exit(curl_error($ch));
var_mp($response);
?>
② PHP HTTP 認證實例詳解
HP來實現HTTP的強制認證是十分簡單的,只需簡單的幾行代碼就可以實現,下面我們來看一個例子,然後結合這里例子我向大家詳細介紹一下PHP實現HTTP認證。
<?php
if(!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate:
Basic
realm="系統名稱"');
header('HTTP/1.0
401
Unauthorized');
echo
'未通過HTTP認證.';
exit;
}
else
{
echo
'認證通過.';
echo
'用戶名:
'.$_SERVER['PHP_AUTH_USER']."\n";
echo
'密碼:
'.$_SERVER['PHP_AUTH_PW']."\n";
}
?>
1.實現說明
怎麼樣,看到上面的代碼了吧,就這么幾行添加到你的程序頁面上就可以實現了.
它是通過利用header()函數向客戶端瀏覽器發送」Authentication
Required」信息,強制其彈出一個用戶名/密碼輸入窗口,當用戶輸入用戶名和密碼後,包含有URL的PHP腳本將會加上預定義變數PHP_AUTH_USER,
PHP_AUTH_PW和AUTH_TYPE然後再次調用,這三個變數分別表示用戶名,密碼和認證類型(從PHP5.0.1起開始支持」Basic」和」Digest」兩種認證方式),它們被保存在$_SERVER(從HP>>4.1.0起有效)或$HTTP_SERVER_VARS(從PHP3起有效)數組中具體應用時,我們可以把驗證的幾行代碼寫成函數,只要判斷到用戶變數不存在或驗證不正確就一直執行該函數並彈出窗口,而且還可以設置錯誤登錄幾次就不允許該用戶訪問,具體的使用大家使勁的發散思考吧.
2.注意事項:
1.這段代碼必須放到程序的開始,且在其開始執行之前不能有任何輸出(若有輸出則需要使用輸出緩沖函數才行).
2.PHP的HTTP認證機制僅在PHP以Apache模塊方式運行時才有效,這個容易理解,它本身是HTTP強制認證,肯定是不適合於CGI版本,不能在命令行下執行的.
3.header發送標頭代碼時請小心.為了對所有的客戶端保證兼容性,關鍵字」Basic」的第一個字母必須大寫為」B」,分界字元串必須用雙引號引用(不能是單引號);在HTTP/1.0和401之間必須有且僅有一個空格.
4.在上面列子中,僅輸出了用戶名和密碼,而在實際系統中則可按照登錄驗證流程進行與資料庫或其他方式進行判斷和驗證.
5.從PHP4.3.0起,為防止有人通過編寫腳本來從頁面上獲取密碼,當外部認證對特定頁面有效,並且安全模式被開啟時,PHP_AUTH變數將不會被設置.可以用REMOTE_USER來辨別外部認證的用戶,用AuthType指令來判斷外部認證機制是否有效.
6.要想讓HTTP認證能夠在IIS下工作,PHP配置選項cgi.rfc2616_headers必須設置為0(默認值).
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
③ php http驗證
你看看用這個得行不得行,我朋友寫的,我用了一下,還行!!
session_start();
Header("Content-type: image/PNG");
$im = imagecreate(50,30);
$back = ImageColorAllocate($im, 0,0,0);
imagefill($im,0,0,$back);
srand((double)microtime()*1000000);
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 4+$i*10, 8,$authnum, $font);
}
for($i=0;$i<100;$i++)
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION['vcode'] = $vcodes;
④ 如何使用php驗證代理伺服器
如何驗證代理伺服器
代理伺服器可以說不是很穩定,有的昨天用得還好好的,今天就不能用了,或者是要密碼了,為了弄清楚該代理是否還是Free的,就要利用「代理獵手」的驗證功能。代理獵手的右下方有8個按鈕,第一個是「檢驗」、第二個是「檢驗全部」,我們可以按〔檢驗全部〕來驗證列表中的所有代理是否可以使用,也可以在列表中選中一個或多個代理地址後,點擊〔檢驗〕,只驗證這幾個代理是否可以使用。驗證完畢後,點擊列表的標題「驗證狀態」,可以把可用的代理伺服器集中排列在列表的前面,方便查找。
⑤ php http驗證問題求高手
按照HTTP定義,不能保證logout,
HTTP specification
Existing HTTP clients and user agents typically retain authentication information indefinitely. HTTP/1.1. does not provide a method for a server to direct clients to discard these cached credentials.
你可以做一些針對某些browser的logout,但不一定所有的brower都可以。
建議使用別的方式(如cookie)來完成類似的功能
⑥ php header頭如何添加Authorization登錄驗證
session有作用域,建議把session存到全局空間中去,每次登陸時候取全局裡面的數據驗證
⑦ thinkphp5 跨域驗證碼
假設
前端域名為: http://a.com
服務端域名為: http://b.com
前端頁面地址為: http://a.com/index.html
獲取驗證碼地址: http://b.com/home/verify
驗證驗證碼地址: http://b.com/home/check_verify
事例:前台地址 http://a.com 要向服務端地址 http://b.com 驗證和請求驗證碼
原理:因為在載入驗證碼圖片的時候請求中攜帶了cooike,cooike中存了服務端驗證碼的PHPSESSID。而在驗證過程中因為是跨域請求,ajax是不會攜帶cooike進行提交的。因此需要在ajax設置withCredentials為true時表示當前請求為跨域類型在請求中協帶cookie,並且服務端也必須要設置Access-Control-Allow-Credentials:為true才可以起到實際的效果。
順便貼一下進行請求和驗證的兩個方法:
⑧ php中http驗證[header('HTTP/1.0 401 Unauthorized');]
$sql = "SELECT * FROM tbl_user WHERE
AccountID = '$_SERVER[PHP_AUTH_USER]' AND
AccountPassword = '$_SERVER[PHP_AUTH_PW]'";
這個執行語句改成這樣
⑨ 判斷php是否有http
PHP文件得用專業的編輯器打開,比如DW、editplus等,想要修改裡面的代碼也是在編輯器裡面修改,除了打開文件需要的編輯器外,還需要在本地安裝wamp,要搭配環境才可以在本地測試PHP文件,否則無法打開及測試!
我建議樓主去找後盾人,他那裡有專家教學 而且還有解釋得非常詳細的視頻,我在他那就學到了很多東西
⑩ 合通啟簡訊php手機驗證介面是http協議嗎
是的,合通啟簡訊平台採用的是標准http協議,所以對接起來沒有沖突,都是標準的報文格式,對接一下試試就知道了,用不了幾分鍾。
