iは、MySQLデータベースからテキストを取得すると私は、URLにIDによってそれを得る:intvalまたはis_numeric? PHP
site.php ID = 1とするので、SQLインジェクションを防ぐために最も安全であると考えられるもの
の?とスタッフ。この方法は正しいです:
<?php
$news_id = $_GET['news_id'];
if(!is_numeric($news_id)) die('Wrong');
//mysql_query and stuff here
?>
ORこの方法:
<?php
$news_id = $_GET['news_id'];
if(!intval($news_id)) die('Wrong');
//mysql_query and stuff here
?>
is_numericには少し注意してください。これは16進数の文字を許可します(それほど大きなセキュリティではありません)。実際に数値をチェックする場合は、ctype_digitを使用して、intではなく文字列を入力してください。 ctype_digit((int 123)); // false ctype_digit( '123'); // true – Stefan