PHP代碼審計-PHP基礎(chǔ)_第1頁
PHP代碼審計-PHP基礎(chǔ)_第2頁
PHP代碼審計-PHP基礎(chǔ)_第3頁
PHP代碼審計-PHP基礎(chǔ)_第4頁
PHP代碼審計-PHP基礎(chǔ)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PKAV-EDU《PHP代碼審計之語言基礎(chǔ)》BYGAINOVERPHP語言基礎(chǔ)1.PHP代碼與HTML分離HTML代碼<?php PHP代碼?>HTML代碼PHP代碼注釋/*

…..

*/

//…..

#…..PHP語言基礎(chǔ)變量

常量$變量名=變量值;$name="gainover";define("常量","常量值");define("XX","something");調(diào)用echo$name;echo"$name";echo'$name';$name="aaa";$aaa="gainover";echo$$name;echo${$name};$name();functionaaa(){}echoXX;PHP語言基礎(chǔ)內(nèi)置變量與

內(nèi)置常量__LINE____FILE____FUNCTION____CLASS____METHOD__內(nèi)置常量$_HTTP_COOKIE_VARS

$_HTTP_ENV_VARS

$_HTTP_GET_VARS

$_HTTP_POST_FILES

$_HTTP_POST_VARS

$_HTTP_SERVER_VARS輸入PHP語言基礎(chǔ)變量類型布爾型:true/false整形:1234/-1234/0123/0x1A浮點(diǎn)型:1.234/1.2e3/7E-10字符串:"aaaaaaa"/'bbbbbbbbbbbb'/<<<標(biāo)簽內(nèi)容標(biāo)簽;數(shù)組:array(1,2,3,4,5)/array("name"=>"gainover","age"=>14)NULL:NULL(被賦值為NULL,未被賦值,被unset())PHP語言基礎(chǔ)函數(shù)

類functiontest($param1,$param2){……

return返回值;}classPerson{

$name='gn'; functionPerson(){ }

functioneat(){

}

functiondrink(){ $this->name='x'; } }$xiaoming

=newPerson();$xiaoming->drink();PHP的函數(shù)們??!Mysql操作函數(shù)$link=mysql_connect('IP:端口','用戶名','用戶密碼');Sql注入第一步:連接數(shù)據(jù)庫服務(wù)器第二步:選擇需要操作的數(shù)據(jù)庫mysql_select_db('foo',$link)第三步:對數(shù)據(jù)庫中的表進(jìn)行查詢、添加或刪除操作!$result=mysql_query("SELECT*frommysql.user",$link)$num_rows=mysql_num_rows($result);DELETE,INSERT,UPDATEmysql_affected_rows()while($row=mysql_fetch_assoc($result)){

echo$row["userid"];}mysql_close($link);3.mysql.phpPHP的函數(shù)們!!數(shù)學(xué)函數(shù)absmaxminfloorceilrand(5,15)sqrt時間日期函數(shù)timedatemktimemicrotime(微秒,秒)localtime(time(),assoc?)PHP的函數(shù)們!!數(shù)組操作函數(shù)count/sizeof元素個數(shù)

in_array(元素值,被查找數(shù)組,類型嚴(yán)格判斷?)array_push(數(shù)組,值1,值2…..)或$array[]=1;array_pop(數(shù)組)array_unshift(數(shù)組,值1,值2…..)array_shift(數(shù)組)array_slice(數(shù)組,偏移,取數(shù)據(jù)長度)array_splice(數(shù)組,偏移,被替換數(shù)據(jù)長度,被替換數(shù)據(jù))extract(數(shù)組,導(dǎo)入變量時覆蓋方式,可選的變量前綴)PHP的函數(shù)們!!字符串操作函數(shù)addslashes(',",\,NULL)stripslashesexplodeimplode/joinhtmlentities/htmlspecialchars(字符串,ENT_COMPAT|ENT_QUOTES|ENT_NOQUOTES,字符集)<,>,",',&trim,ltrim,rtrim刪除字符串中的空白符$str="first=value&arr[]=foo+bar&arr[]=baz";parse_str($str);echo$first;//valueecho$arr[0];//foobarecho$arr[1];//bazchr(100)substr(字符串,起點(diǎn),長度)PHP的函數(shù)們?。≌齽t表達(dá)式操作函數(shù)preg_match(正則,字符串,匹配結(jié)果)preg_match_allpreg_replace(正則,替換后的內(nèi)容,被替換的字符串)preg_split$m=preg_replace("/\d+/","qq",$data);$m=preg_replace("/\d+/e","phpinfo()",$data);$m=preg_replace("/\[(.+)\]/e",'$a="$1"',$data);PHP的函數(shù)們??!HTTP操作函數(shù)

header()

setcookie()文件系統(tǒng)/目錄操作函數(shù)

file_get_contents()

file_put_contents()

fopen()

…..URL操作函數(shù)

urlencode

urldecode變量函數(shù)

empty

is_***

isset什么時候是empty?"",NULL,array(),false,0,"0"什么時候是is_null?NULL,未賦值,未定義is_nullissetvar_dumpprint_rserializeunserialize序列化與反序列化調(diào)試輸出代碼審計需要什么?1.語言基礎(chǔ)!2.

安全問題成因3.代碼審計輔助工具4.足夠的耐心!真的屌絲敢于直面慘淡的代碼!了解PHP中容易出問題的函數(shù)/代碼邏輯等,為知彼!會讀、會寫,是所謂知己!善其事、利其器!代碼審計課程安排!學(xué)習(xí)基礎(chǔ)的PHP代碼編寫用戶注冊實(shí)例了解輸入與輸出PHP安全問題逐個介紹原理介紹實(shí)例分析代碼審計工具使用及

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論