これは私のコードですtest.php
mod rewrite URLをvalueに使用するには、値に( - )が含まれていますか?
です。
<?PHP
include("connect.php");
$id_val = mysqli_real_escape_string($db_mysqli,$_GET['id_val']);
echo $id_val;
?>
私はそれが働いていない
www.example.com/test/8-pi7Tvu66
にアクセスしようとするとこれは私のモッズ書き換えコード(.htaccess
)
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^test/([^-]*)$ /test.php?id_val=$1 [L]
DirectoryIndex index.php
です。 (これは。何もエコーのindex.phpにリダイレクトしていないことになるのです)
しかし、私は
www.example.com/test.php?id_val=8-pi7Tvu66
にアクセスしようとしたとき、それは仕事の良いことです。 (echo 8-pi7Tvu66)
modリライトURLの作業にはどうすればいいですか?
www.example.com/test/8-pi7Tvu66
...
備考:私はまだ含まれていないことをid_valでテストしてみました -
eg:
www.example.com/test/8pi7Tvu66
そして、それは仕事の良いことです()。明示的ダッシュ以外のすべてと一致する
^test/([^-]*)$
:(エコー8pi7Tvu66)
SQLインジェクションを防ぐために 'mysqli_real_escape_string()'に依存しないでください(それだけでは不十分です)(https://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-実際のエスケープ文字列)。あなたは[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https ://secure.php.net/manual/en/pdo.prepared-statements.php)ドライバ。 [**この記事**](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)には、いくつかの良い例があります。 –
私は 'mysqli_real_escape_string'と' mysqli'を使ってSQLインジェクションから私を守ることができませんか? – mamiw
@mamiwそれはあなたを守ることができないわけではありません。mysqli_real_escapeを使っているのは正しいことを得るのが難しいということです。一般的に受け入れられているより簡単な方法は、準備されたステートメントを使用します。 @ AlexHowanskyのリンクを参照してください。 – hunteke