电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

數(shù)據(jù)可能有無數(shù)的來源,做為一個有安全意識的開發(fā)者,你需要簡單可靠地區(qū)分兩類數(shù)據(jù):

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

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

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

$email = ’chris@example.org’;

上面的Email地址chris@example.org并不來自任何遠程數(shù)據(jù)源。顯而易見它是可信的。任何來自遠程數(shù)據(jù)源的數(shù)據(jù)都是輸入,而所有的輸入數(shù)據(jù)都是被污染的,必須在要在使用前對其進行過濾。

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

$email = $_POST[’email’];

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

CODE:

define(’EMAIL’, ’chris@example.org’);

如果用上面的語句進行定義,EMAIL在整個腳本運行中是一個值為chris@example.org的不變的常量,甚至在你把試圖把它重新賦值時也不會改變(通常是不小心)。例如,下面的代碼輸出為chris@example.org (試圖重定義一個常量會引起一個級別為Notice的報錯信息)。

CODE:

<?php

define(’EMAIL’, ’chris@example.org’);

define(’EMAIL’, ’rasmus@example.org’);

echo EMAIL;

?>

小提示

欲更多了解常量, 請訪問 http://php.net/constants.

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

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

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

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

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

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

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

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

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

在前例中,請求方式被指定為GET,瀏覽器將通過URL的請求串部分傳輸數(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>

如果我輸入了用戶名chris和密碼mypass,在表單提交后,我會到達URL為http://example.org/login.php?username=chris&password=mypass的頁面。該URL最簡單的合法HTTP/1.1請求信息如下:

CODE:

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

Host: example.org

并不是必須要使用HTML表單來請求這個URL,實際上通過HTML表單的GET請求方式發(fā)送數(shù)據(jù)與用戶直接點擊鏈接并沒有什么不同。

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

而且,如果你指定了一個非法的請求方式,或者請求方式屬性未寫,瀏覽器則會默認以GET方式提交數(shù)據(jù)。

為說明POST請求方式,只對上例進行簡單的更改,考慮把GET請求方式更改為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>

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

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)在你已看到用戶向你的應(yīng)用提供數(shù)據(jù)的主要方式。在下面的小節(jié)中,我們將會討論攻擊者是如何利用你的表單和URL作為進入你的應(yīng)用的缺口的。

標簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 菏泽知彼网络科技有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 至顶网| 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 广西教师资格网-广西教师资格证考试网 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 青岛侦探调查_青岛侦探事务所_青岛调查事务所_青岛婚外情取证-青岛狄仁杰国际侦探公司 | 噪声治理公司-噪音治理专业隔音降噪公司| 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 上海logo设计 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 |