ユーザーはコードと呼ばれる文字列を持つクッキーを持っています。コードは乱数または6〜15文字の文字です。コードを受け取った後、コードの長さが6〜15文字で、数字と文字のみが含まれていることを確認するにはどうすればよいですか?PHPは正規表現を使用してデータ入力を検証します
正規表現を使用するのが最適ですか?私のような何かしようとするだろう
ユーザーはコードと呼ばれる文字列を持つクッキーを持っています。コードは乱数または6〜15文字の文字です。コードを受け取った後、コードの長さが6〜15文字で、数字と文字のみが含まれていることを確認するにはどうすればよいですか?PHPは正規表現を使用してデータ入力を検証します
正規表現を使用するのが最適ですか?私のような何かしようとするだろう
これを行うには2つの簡単な方法があります。一つは、正規表現を使用している:
$length = strlen($cookie);
if (6 <= $length && $length <= 15 && preg_match('/^[a-zA-Z0-9]*$/', $cookie)) {
//...
}
(文字列は、英数字で作ってください)内蔵の正確んctype_alnum機能をその使用している他:
$length = strlen($cookie);
if (6 <= $length && $length <= 15 && ctype_alnum($cookie)) {
//...
}
PHPの正規表現はかなり迅速であり、これは、単純なセレクタの場合です:
"/^[a-zA-Z0-9]{6,15}$/"
しかし@amosriveraた権利についてstrlen
速くています。クッキーデータがページに埋め込まれている場合(echo $_COOKIE['key'];
)、XMLエンティティは重要ではありません。ユーザーは自身のページにしか害を及ぼしません。 Cookieがデータベースに保存され、すべてのユーザーに表示されている場合は、まったく別の問題になります。