Değişen PHP tip zorlama

1 Cevap php

Ben HostGator bir adanmış sunucu benim siteleri taşındı, birçok şeyler kırık ve her tür tehdit içeren kırılmış. $ _POST ['Var'] 0 ise, bir tamsayı olarak kabul ve başka bir tamsayı ile bir karşılaştırma başarısız değildir.

Ben geçti ve ben buldum sitede bu kırık yerlerde tüm int türlerini zorladı, ama daha ben bulamadım vardır eminim. Ben php.ini yapılandırma ile aşina deli değilim, ama belki de ben bu nasıl düzeltebilirim ve bana söyleyebilir?

Teşekkürler

1 Cevap

Hayır - PHPs türü dönüştürme işlevi değiştiremezsiniz, ancak PHP'nin dinamik tip dönüşüm ile daha iyi bir anlaşma için kod yazabilirsiniz.

Tüm istek vars otomatik dizeler olarak kabul edilir. Kodunuzu görmeden için kriterler "bir karşılaştırma başarısız" ne kurmak oldukça zor.

Ben çalıştırırsanız:

print var_export((0=="0"), true) . "\n";
print var_export(("0"==0), true) . "\n";
print var_export((0==(integer)"0"), true) . "\n";
print var_export((0==="0"), true) . "\n";

Sonra olsun

true
true
true
false

Ben bir türüne maç yanı sıra değer sorduğunuzda, yani tamsayı karşılaştırma başarısız tek zamandır.