SOとすべてをグーグルで検索しましたが、答えがわかりません。
以下の PHP コードでプラス記号が使用できるのはなぜですか。
$aValid = array('-', '_', '.');
if (ctype_alnum(str_replace($aValid, '', $_POST['Rusername']))){
(ユーザーが 1234+ と入力すると、有効なように続行します????)。
私は通常、バイパスを見つけましたが、本当に必要ですか。
$aValid = array('-', '_', '.');
if (ctype_alnum(str_replace($aValid, '', (htmlentities ( trim ( $_POST['Rusername'] ) , ENT_NOQUOTES ))))){
echo "+ ok";
}else{
echo "+ not ok";
}
この種の検証を使用して、必要に応じて特別な文字を $aValid に追加したいと思います。
MySQL に挿入する前に、mysql_real_escape_string または準備済みステートメントを実行します。
+ 記号がコードの最初の部分で問題ない理由。私の意見では、それは本当にすべきではありません。
最新の更新 - PHP の if 句 (ホワイトリストで許可されている) に到達する前に + 記号がスペースになるように、A 側が Content-Type を変更したことを理解するために、低レベルのデバッグ HTTP ヘッダーを数時間必要としました...
なんて-それがあなたに起こらないことを願っています-経験:)
自分自身へのリマインダー: jQuery がこの検証プロセスの主要なプレーヤーである場合は、言及する必要があります...