国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP安全-表單與數(shù)據(jù)

瀏覽:77日期:2022-09-12 09:57:38
表單與數(shù)據(jù)

在典型的PHP應(yīng)用開(kāi)發(fā)中,大多數(shù)的邏輯涉及數(shù)據(jù)處理任務(wù),例如確認(rèn)用戶(hù)是否成功登錄,在購(gòu)物車(chē)中加入商品及處理信用卡交易。

數(shù)據(jù)可能有無(wú)數(shù)的來(lái)源,做為一個(gè)有安全意識(shí)的開(kāi)發(fā)者,你需要簡(jiǎn)單可靠地區(qū)分兩類(lèi)數(shù)據(jù):

l已過(guò)濾數(shù)據(jù)

l被污染數(shù)據(jù)

所有你自己設(shè)定的數(shù)據(jù)可信數(shù)據(jù),可以認(rèn)為是已過(guò)濾數(shù)據(jù)。一個(gè)你自己設(shè)定的數(shù)據(jù)是任何的硬編碼數(shù)據(jù),例如下面的email地址數(shù)據(jù):

$email = ’[email protected]’;

上面的Email地址[email protected]并不來(lái)自任何遠(yuǎn)程數(shù)據(jù)源。顯而易見(jiàn)它是可信的。任何來(lái)自遠(yuǎn)程數(shù)據(jù)源的數(shù)據(jù)都是輸入,而所有的輸入數(shù)據(jù)都是被污染的,必須在要在使用前對(duì)其進(jìn)行過(guò)濾。

被污染數(shù)據(jù)是指所有不能保證合法的數(shù)據(jù),例如用戶(hù)提交的表單,從郵件服務(wù)器接收的郵件,及其它web應(yīng)用中發(fā)送過(guò)來(lái)的xml文檔。在前一個(gè)例子中,$email是一個(gè)包含有已過(guò)濾數(shù)據(jù)的變量。數(shù)據(jù)是關(guān)鍵,而不是變量。變量只是數(shù)據(jù)的容器,它往往隨著程序的執(zhí)行而為被污染數(shù)據(jù)所覆蓋:

$email = $_POST[’email’];

當(dāng)然,這就是$email叫做變量的原因,如果你不希望數(shù)據(jù)進(jìn)行變化,可以使用常量來(lái)代替:

CODE:

define(’EMAIL’, ’[email protected]’);

如果用上面的語(yǔ)句進(jìn)行定義,EMAIL在整個(gè)腳本運(yùn)行中是一個(gè)值為[email protected]的不變的常量,甚至在你把試圖把它重新賦值時(shí)也不會(huì)改變(通常是不小心)。例如,下面的代碼輸出為[email protected] (試圖重定義一個(gè)常量會(huì)引起一個(gè)級(jí)別為Notice的報(bào)錯(cuò)信息)。

CODE:

<?php

define(’EMAIL’, ’[email protected]’);

define(’EMAIL’, ’[email protected]’);

echo EMAIL;

?>

小提示

欲更多了解常量, 請(qǐng)?jiān)L問(wèn) http://php.net/constants.

正如第一章中所討論過(guò)的,register_globals可使確定一個(gè)變量如$email的來(lái)源變得十分困難。所有來(lái)自外部數(shù)據(jù)源的數(shù)據(jù)在被證明合法前都應(yīng)該被認(rèn)為被污染的。

盡管一個(gè)用戶(hù)能用多種方式發(fā)送數(shù)據(jù),大多數(shù)應(yīng)用還是依據(jù)表單的提交結(jié)果進(jìn)行最重要的操作。另外一個(gè)攻擊者只要通過(guò)操縱提交數(shù)據(jù)(你的應(yīng)用進(jìn)行操作的依據(jù))即可危害,而表單向他們方便地開(kāi)放了你的應(yīng)用的設(shè)計(jì)方案及你需要使用的數(shù)據(jù)。這也是表單處理是所有Web應(yīng)用安全問(wèn)題中的首先要關(guān)心的問(wèn)題的原因。

一個(gè)用戶(hù)可以通過(guò)三種方式您的應(yīng)用傳輸數(shù)據(jù):

l通過(guò)URL(如GET數(shù)據(jù)方式)

l通過(guò)一個(gè)請(qǐng)求的內(nèi)容(如POST數(shù)據(jù)方式)

l通過(guò)HTTP頭部信息(如Cookie)

由于HTTP頭部信息并不與表單處理直接相關(guān),在本章中不作討論。通常,對(duì)GET與POST數(shù)據(jù)的懷疑可以推及到所有輸入,包括HTTP頭部信息。

表單通過(guò)GET或POST請(qǐng)求方式傳送數(shù)據(jù)。當(dāng)你建立了一個(gè)HTML表單,你需要在form標(biāo)簽的method屬性中指定請(qǐng)求方式:

<form action='http://example.org/register.php' method='GET'>

在前例中,請(qǐng)求方式被指定為GET,瀏覽器將通過(guò)URL的請(qǐng)求串部分傳輸數(shù)據(jù),例如,考慮下面的表單:

CODE:

<form action='http://example.org/login.php' method='GET'>

<p>Username: <input type='text' name='username' /></p>

<p>Password: <input type='password' name='password' /></p>

<p><input type='submit' /></p>

</form>

如果我輸入了用戶(hù)名chris和密碼mypass,在表單提交后,我會(huì)到達(dá)URL為http://example.org/login.php?username=chris&password=mypass的頁(yè)面。該URL最簡(jiǎn)單的合法HTTP/1.1請(qǐng)求信息如下:

CODE:

GET /login.php?username=chris&password=mypass HTTP/1.1

Host: example.org

并不是必須要使用HTML表單來(lái)請(qǐng)求這個(gè)URL,實(shí)際上通過(guò)HTML表單的GET請(qǐng)求方式發(fā)送數(shù)據(jù)與用戶(hù)直接點(diǎn)擊鏈接并沒(méi)有什么不同。

記住如果你在GET方式提交的表單中的action中試圖使用請(qǐng)求串,它會(huì)被表單中的數(shù)據(jù)所取代。

而且,如果你指定了一個(gè)非法的請(qǐng)求方式,或者請(qǐng)求方式屬性未寫(xiě),瀏覽器則會(huì)默認(rèn)以GET方式提交數(shù)據(jù)。

為說(shuō)明POST請(qǐng)求方式,只對(duì)上例進(jìn)行簡(jiǎn)單的更改,考慮把GET請(qǐng)求方式更改為POST的情況:

CODE:

<form action='http://example.org/login.php' method='POST'>

<p>Username: <input type='text' name='username' /></p>

<p>Password: <input type='password' name='password' /></p>

<p><input type='submit' /></p>

</form>

如果我再次指定用戶(hù)名chris和密碼mypass,在提交表單后,我會(huì)來(lái)到http://example.org/login.php頁(yè)面。表單數(shù)據(jù)在請(qǐng)求的內(nèi)部而不是一個(gè)URL的請(qǐng)求串。該方式最簡(jiǎn)單的合法HTTP/1.1請(qǐng)求信息如下

CODE:

POST /login.php HTTP/1.1

Host: example.org

Content-Type: application/x-www-form-urlencoded

Content-Length: 30

username=chris&password=mypass

現(xiàn)在你已看到用戶(hù)向你的應(yīng)用提供數(shù)據(jù)的主要方式。在下面的小節(jié)中,我們將會(huì)討論攻擊者是如何利用你的表單和URL作為進(jìn)入你的應(yīng)用的缺口的。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 国产va免费精品高清在线观看 | 一级欧美过瘾大片 | 久久精品免费全国观看国产 | 在线观看亚洲专区 | 久久精品视频3 | 在线免费观看毛片网站 | 国产欧美日韩在线不卡第一页 | 深夜福利亚洲 | 国产91精品久久久久久久 | 欧美专区一区二区三区 | аⅴ资源天堂8在线 | 国产在线极品 | 99国产视频 | 久久久久久极精品久久久 | 日韩欧美中文字幕一区二区三区 | 99免费在线视频 | 成人免费国产欧美日韩你懂的 | 国产精品三级a三级三级午夜 | 在线国产毛片 | 国产日本欧美亚洲精品视 | 9久久免费国产精品特黄 | 另类zoofilia杂交videos | 久久视频精品53在线观看 | 波多野结衣在线观看一区二区 | 国产aⅴ精品一区二区三区久久 | 香蕉国产人午夜视频在线 | 亚洲精品国产综合久久一线 | a天堂中文在线官网 | 久久精品视频网 | 最新国产精品好看的国产精品 | 99热免费在线 | 欧美高清另类自拍视频在线看 | 性久久久久久久久久 | 在线精品亚洲欧洲第一页 | 亚洲欧美日本综合 | 久久久国产99久久国产首页 | www.热| 久久亚洲精品中文字幕二区 | 亚洲好逼| 国产片一级片 | 日本视频一区二区三区 |