中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

湖南衡陽網(wǎng)站建設(shè)怎么樣優(yōu)化網(wǎng)站seo

湖南衡陽網(wǎng)站建設(shè),怎么樣優(yōu)化網(wǎng)站seo,微商城平臺排名,做網(wǎng)站如何推廣正則繞過 正則表達(dá)式PHP正則回溯PHP中的NULL和false回溯案例案例1案例2 正則表達(dá)式 在正則中有許多特殊的字符,不能直接使用,需要使用轉(zhuǎn)義符\。如:$,(,),*,,.,?,[,,^,{。 這里大家會有疑問:為啥小括號(),這個就需要兩個來轉(zhuǎn)義&a…

正則繞過

  • 正則表達(dá)式
  • PHP正則回溯
  • PHP中的NULL和false
  • 回溯案例
    • 案例1
    • 案例2

正則表達(dá)式

在正則中有許多特殊的字符,不能直接使用,需要使用轉(zhuǎn)義符\。如:$,(,),*,+,.,?,[,,^,{。
這里大家會有疑問:為啥小括號(),這個就需要兩個來轉(zhuǎn)義,但是中括號[]和大括號{}僅轉(zhuǎn)義左側(cè)。這樣的原因是,()存在一個特殊含義:組,而中括號和大括號,沒有左側(cè)就無法實(shí)現(xiàn)閉合,也就無法編譯。
當(dāng)然里面也存在一個特殊符號“-”,也是不需要轉(zhuǎn)義的,起到連接符的作用,主要使用在[]中,當(dāng)做普通文本即可。

除了一些特殊字符,還有一些特殊符號的表示,像:\d,\D,\s,\S,\w,\W,\b,\B。

還存在一些機(jī)制,像貪婪匹配,惰性匹配,又比如存在斷言,像:先行肯定斷言、先行否定斷言。這里就不多說了。

PHP正則回溯

回溯,可以簡單理解為返回,也就是在正則匹配時,依次匹配,如果產(chǎn)生不滿足正則表達(dá)式的情況,則向前依次返回搜索,知道匹配到為止,否則,正則無法匹配。
舉個例子:
匹配正則:/\d.*g.*/gm
正則表達(dá)的含義:首先匹配\d,也就是先數(shù)字匹配,然后是.*,全部匹配,匹配字母g,再全部匹配。
我們的案例給這個:1234as23gsfggsw,正常理解應(yīng)該2步差不多了。
我們在regex101.com查看一下具體匹配了幾步。
在這里插入圖片描述
這里匹配了八步。
看一下第三步:
在這里插入圖片描述
和我們想的差不多基本已經(jīng)匹配完了,但是這個正則沒有走完,也就是說它回去匹配字母g,再來看一下后面兩步。
在這里插入圖片描述
在這里插入圖片描述
開始了我們前面提到的回溯,開始從后往前匹配內(nèi)容,也就是字母g,在匹配到后,就會再向后匹配正則表達(dá)式。

在PHP中,回溯不是無限的,也就是說回溯步數(shù)是有限制的,根據(jù)英文文檔顯示可以回溯1000000次,這是一個很大的數(shù)字。

PHP中的NULL和false

作為弱數(shù)據(jù)型語言,php的比較還是比較特殊的。
PHP存在嚴(yán)格比較和松散比較。嚴(yán)格比較也就是“===”,松散比較“==”。
松散比較,比較的僅是數(shù)據(jù)的值。
嚴(yán)格比較,比較的是數(shù)據(jù)的值和類型。
PHP下,也存在一些隱式轉(zhuǎn)換,將NULL和false進(jìn)行轉(zhuǎn)換
下面就展示一下NULL和false的比較

0 == false: bool(true)
0 === false: bool(false)0 == null: bool(true)
0 === null: bool(false)false == null: bool(true)
false === null: bool(false)"0" == false: bool(true)
"0" === false: bool(false)"0" == null: bool(false)
"0" === null: bool(false)"" == false: bool(true)
"" === false: bool(false)"" == null: bool(true)
"" === null: bool(false)

很明顯,在嚴(yán)格模式下,NULL和false相同。

回溯案例

案例1

<?php
function areyouok($greeting){return preg_match('/Merry.*Christmas/is',$greeting); //正則匹配
}if(!areyouok($greeting)){if(strpos($greeting,'Merry Christmas') !== false){   echo 'welcome to nanhang. '.'flag{i_Lov3_NanHang_everyThing}';}else{echo 'Do you know .swp file?';}
}else{echo 'Do you know PHP?';
}

分析一下內(nèi)容:首先第一個函數(shù)里面是一個正則匹配,正則匹配的內(nèi)容是:Merry,然后任意字符,然后是Christmas。
來到下面的判斷,先判斷是否符合上面的正則,不符合,進(jìn)入下一層,否則返回打印,然后,又判斷。
這里有意思的兩個點(diǎn)是在判斷上,第一個判斷是否符合正則,正則則是一個字符串,不符合進(jìn)入下一個,而下一個則判斷字符串包不包含括號里的內(nèi)容,還要和false進(jìn)行嚴(yán)格比較。也就是說呢,要不是字符串,還要和false不完全等。
首先大家想到的是,第二個判斷為true就好了,但如果滿足的話,那就必須是字符串,但第一個判斷已經(jīng)否定了。

理論成立,但仍需要實(shí)測,
首先字符串
在這里插入圖片描述

所以,這時候我們就要想到我們的NULL和false,它們兩個在嚴(yán)格比較下是相等的。
那這樣要如何解決,那greeting就不能為字符串,且要為NULL,數(shù)字就可以。
所以,greeting[]=123,就解決了。

案例2

<?php
function areyouok($greeting){return preg_match('/Merry.*Christmas/is',$greeting);
}$greeting=@$_POST['greeting'];
if(!is_array($greeting)){if(!areyouok($greeting)){if(strpos($greeting,'Merry Christmas') !== false){echo 'Merry Christmas. '.'flag{i_Lov3_NanHang_everyThing}';}else{echo 'Do you know .swp file?';}}else{echo 'Do you know PHP?';}
} else {echo 'fuck array!!!';
}
?>

這個案例是上面的升級版,在這里就沒有辦法,使用NULL,來實(shí)現(xiàn)繞過了,這里對數(shù)組也進(jìn)行了判斷,難度可見一斑。
但是我們要想到一個問題,如果我們無法匹配正則,那就繞過,不就可以了。
上面我們提到了,PHP也就只能回溯1000000次,多了就不行了,如果超了,正則就匹配失敗,也是滿足我們判斷條件的,所以,我們只需要在字符串加一些不相干的內(nèi)容,一直回溯,超過1000000次就可以了。
所以,此時的greeting=Merry Christmas + ‘a(chǎn)’*1000000。

http://www.risenshineclean.com/news/54130.html

相關(guān)文章:

  • 天津地鐵建設(shè)網(wǎng)站網(wǎng)站鏈接提交
  • 網(wǎng)架加工入門基礎(chǔ)知識網(wǎng)站關(guān)鍵詞排名seo
  • 江門網(wǎng)站建設(shè)開發(fā)建立一個企業(yè)網(wǎng)站需要多少錢
  • 專門做諾麗果的網(wǎng)站百度基木魚建站
  • 榆中建設(shè)局網(wǎng)站站長工具查詢域名
  • 怎么從網(wǎng)站上看出做網(wǎng)站的日期網(wǎng)頁快速收錄
  • 企業(yè)網(wǎng)站建設(shè)方案書范文關(guān)鍵詞挖掘工具有哪些
  • 技術(shù)專業(yè)網(wǎng)站建設(shè)免費(fèi)的關(guān)鍵詞挖掘工具
  • python前端開發(fā)北京網(wǎng)站seo哪家公司好
  • 保存的密碼變成亂碼搜索引擎優(yōu)化叫什么
  • 網(wǎng)站互動功能網(wǎng)站推廣應(yīng)該怎么做?
  • 上海新聞網(wǎng)頭條新聞seo常用分析的專業(yè)工具
  • 微信如何建商城網(wǎng)站百度投放廣告怎么收費(fèi)
  • 杭州做網(wǎng)站外包公司哪家好優(yōu)化seo網(wǎng)站
  • 江門網(wǎng)站制作維護(hù)南昌seo公司
  • 政府網(wǎng)站的建設(shè)規(guī)劃設(shè)想seo關(guān)鍵詞排名優(yōu)化哪家好
  • 域名注冊了 如何做網(wǎng)站如何推廣app賺錢
  • 機(jī)械網(wǎng)站優(yōu)化百度推廣客戶端怎么登陸
  • 最新開的手游傳奇網(wǎng)站seo研究中心晴天
  • 集團(tuán)簡介ppt優(yōu)秀范例百度網(wǎng)站怎么優(yōu)化排名
  • 怎樣做企業(yè)網(wǎng)站建設(shè)網(wǎng)站推廣與優(yōu)化平臺
  • 建設(shè)部網(wǎng)站公示公告安全seo推廣的全稱是
  • 怎樣開通網(wǎng)站網(wǎng)站開發(fā)的一般流程
  • 濟(jì)南 網(wǎng)站建設(shè)公司 醫(yī)療湖南關(guān)鍵詞排名推廣
  • 做oa好 還是做網(wǎng)站好網(wǎng)絡(luò)推廣的平臺有哪些
  • 臨沂市建設(shè)安全管理網(wǎng)站整合營銷的最高階段是
  • 網(wǎng)站首頁菜單欄表怎么做中國今天最新軍事新聞
  • 數(shù)據(jù)來源于網(wǎng)站需如何做腳注谷歌推廣怎么樣
  • 深圳營銷型網(wǎng)站建設(shè)公司本周的新聞大事10條
  • 服務(wù)器 打開網(wǎng)站iis7下載百度2023最新版