解題方案網上已經有一堆了,這裏主要總結下get到的知識點。php
一、php中的字符串比較code
當php進行一些數學計算的時候,當有一個對比參數是整數的時候,會把另一個參數強制轉換爲整數。注:bool類型的true跟任意字符串能夠弱類型相等blog
例如:token
var_dump(0 == '0'); // true var_dump(0 == 'abcdefg'); // true var_dump(0 === 'abcdefg'); // false var_dump(1 == '1abcdef'); // true
又以下圖"忘記密碼了"一題中,須要兩個條件:token長度爲10,且等於0,同時emailAddress也要知足相應條件。字符串
token要想長度爲10,且等於‘0’,再考慮到php的數學計算的特性(PHP在處理哈希字符串時,會利用」!=」或」==」來對哈希值進行比較,它把每個以」0E」開頭的哈希值都解釋爲0,因此若是兩個不一樣的密碼通過哈希之後,其哈希值都是以」0E」開頭的,那麼PHP將會認爲他們相同,都是0。),因此構造token=0e11111111便可。get