<?php
$id = intval($_GET['id']);
$sql = mysql_query("SELECT username FROM users WHERE id = $id");
$row = mysql_fetch_assoc($sql);
$user = htmlspecialchars($row['username']);
?>
<h1>User:<?php echo $user ?></h1>
Können Sie alle Bedrohungen in dem oben genannten Code sehen? Muss ich htmlspecialchars für alle Ausgaben verwenden? Und sollte ich is_numeric oder intval verwenden, um zu überprüfen, dass der get numerisch ist?PHP-Sicherheit, intval und htmlspecialchars
Ich baue nur eine minimale Website. Ich frage mich nur, ob der obige Code anfällig für SQL-Injektion, XSS ist?
Unsigned Ints werden + - 4 Milliarden max. –
PHP-Ints sind signiert. Es gibt keine unsignierten Ints in PHP. – cletus