Phép so sánh có thể gây lỗi bảo mật trong PHP

Cái này khá thú vị, các bạn dự đoán kết quả ra sao cho những phép so sánh dưới đây:

$input = 0;

if('defaultpassword' == $input){

echo 'true';

} else {

echo 'false';

}

if('1e3' == '1000'){

echo 'true';

} else {

echo 'false';

}


Chắc chắn các bạn sẽ nghĩ rằng cả 2 phép so sánh đều ra kết quả sai. Bởi vì nhìn qua cả về giá trị và hình thức thì chả thấy giống nhau gì cả :).

- Phép thứ nhất so sánh 1 chuỗi và 1 số

- Phép thứ hai so sánh 2 chuỗi với nhau


Tuy nhiên kết quả hoàn toàn không như bạn nghĩ.