0

私の最初のphpWebサイトでは、現在、すべての文字をユーザー名で使用できるようにしています。それらがデータベースに挿入されるときはaddslashes()を使用し、データベースから取得されるときはstripslashes()を使用し、次にhtmlentities()を使用してそれらをページに正しく表示させます。今のところ問題はありませんが、何らかの理由でユーザー名に使用を禁止すべき文字はありますか?私が流暢に話せる言語はHTML、CSS、PHPだけです。将来、特定の文字を解析するのが難しいPHPやJavaなどの言語の関数に出くわすのではないかと心配しています。

4

1 に答える 1

3

いくつかの文字が問題を引き起こす可能性があります。

明らかに、あなたが扱ってきたhtmlとSQLには特別な意味を持つ文字があります。

その他の可能性は次のとおりです。

  • ユーザーを検索する場合、正規表現の文字/ワイルドカード。* 、?

  • ユーザーに電子メールアドレスを提供する場合、電子メールは英数字、アンダースコア、および隣接しないドットのみをサポートし、多くのシステムでは、電子メールでは大文字と小文字が区別されないと想定されます(仕様の一部ではありません)。

  • URLにユーザー名が含まれているプロファイルページをユーザーに提供する場合は、多くの文字を適切にエンコードする必要があります。

  • 非ASCII文字は、ユーザー名の格納方法によっては問題を引き起こす可能性があります(UTF-8をサポートするフィールドに格納されている場合は、任意の文字がサポートされます)

于 2012-08-18T01:32:29.337 に答える