私の最初のphpWebサイトでは、現在、すべての文字をユーザー名で使用できるようにしています。それらがデータベースに挿入されるときはaddslashes()を使用し、データベースから取得されるときはstripslashes()を使用し、次にhtmlentities()を使用してそれらをページに正しく表示させます。今のところ問題はありませんが、何らかの理由でユーザー名に使用を禁止すべき文字はありますか?私が流暢に話せる言語はHTML、CSS、PHPだけです。将来、特定の文字を解析するのが難しいPHPやJavaなどの言語の関数に出くわすのではないかと心配しています。
質問する
127 次
1 に答える
3
いくつかの文字が問題を引き起こす可能性があります。
明らかに、あなたが扱ってきたhtmlとSQLには特別な意味を持つ文字があります。
その他の可能性は次のとおりです。
ユーザーを検索する場合、正規表現の文字/ワイルドカード。* 、?
ユーザーに電子メールアドレスを提供する場合、電子メールは英数字、アンダースコア、および隣接しないドットのみをサポートし、多くのシステムでは、電子メールでは大文字と小文字が区別されないと想定されます(仕様の一部ではありません)。
URLにユーザー名が含まれているプロファイルページをユーザーに提供する場合は、多くの文字を適切にエンコードする必要があります。
非ASCII文字は、ユーザー名の格納方法によっては問題を引き起こす可能性があります(UTF-8をサポートするフィールドに格納されている場合は、任意の文字がサポートされます)
于 2012-08-18T01:32:29.337 に答える