Angenommen, Sie meinen sicher in Bezug auf SQL-Injection oder XSS-Angriffe , dann wahrscheinlich ja. Durch das Umwandeln in int
wird nur sichergestellt, dass der Wert eine Ganzzahl ist. Eine ganze Zahl ist in der Regel nicht normalerweise gefährlich. Es garantiert jedoch nicht die Sicherheit des Wertes der ganzen Zahl . Es kann sich um 0
handeln, das in Ihrem Code eine besondere Bedeutung haben kann oder auch nicht, z. B. beim Vergleich mit false
. Oder es kann negativ sein, was wiederum in Ihrem Code irgendwelche Nebenwirkungen haben kann oder auch nicht.
"Sicherheit" ist keine absolute Sache. Die Zeichenfolge "1 = 1; DROP TABLE users"
selbst ist auch sicher . Es hängt nur vom Kontext ab, in dem Sie es verwenden. Ein 0
ist genauso sicher, bis der Code if (!$number) deleteAllUsers();
enthält.
Es ist "sicher", je nachdem, was Sie tun möchten. Es wird die Variable nur in eine ganze Zahl umgewandelt, solange PHP
s die Speichernutzung betrifft. Es erlaubt negative ganze Zahlen.
Für (int) in PHP:
%Vor%Übergeben Sie niemals einen unbekannten Bruch an eine Ganzzahl, da dies manchmal zu unerwarteten Ergebnissen führen kann.
Sehen Sie sich die PHP-Dokumentation zu Ganzzahlen an.
Ja, es ist "sicher" in Bezug auf SQL-Injection- oder XSS-Angriffe.
Wenn Sie vorzeichenlose Ganzzahlen (keine negativen Werte) für Primärschlüssel oder andere Felder in Ihrer Datenbank verwenden (Platz sparen), müssen Sie zusätzlich PHP-Funktion abs () und Casting verwenden, um unbehandelte Fehler zu vermeiden:
%Vor%