パスワードやシリアル番号(シリアルコード)の発行時の注意

用紙にシリアル番号が書かれていて、「Webサイトにアクセスし、シリアルコードを入力してください」というキャンペーンに応募しました。QRコードがあったので携帯でアクセスして、応募ページをクリックしてもリンクが飛びませんでした。これは今回の件とは全く関係ありませんが、リンク先くらいはチェックして欲しかったですね。

そこで、PCからアクセスすることにしました。PCの場合は別ページに飛んだため、リンク切れはありませんでしたので、シリアル番号を入力して「確認」ボタンをクリック。しかし、「不正なコードです」と表示されます。

シリアルコードは「・・O601・・・」となっていて、よく見るとO(オー)と0(ゼロ)が違うのかなと思い、「06O1」や「O601」を試して、ようやく正しいコードを入れることができました。今回は、「O」と「0」が存在していたために違いがわかりましたが、これが「O6O1」の場合は諦めていたかもしれません。

このような紛らわしい文字は初期のパスワード、シリアルコードでは使わないようにした方が良いです。以前、大手企業のサービスで、初期パスワードが郵送されてきて、「l(エル)」と「1(イチ)」の違いがわからず電話で確認したことがあります。もし、紛らわしい文字も使う場合はフリガナが必要です。

フリガナは面倒ですので、最初から紛らわしい文字を使わないでパスワード、シリアルコードを発行するようにしましょう。PHPでパスワードを再発行する場合は下記のような感じです。oや0等は自動発行のパスワードに入らないようにしてあります。

記号を入れる場合は「@」「-」「_」「#」程度でしょうか。「”」「’」「\」は処理が面倒ですので入れないほうが良いですね。

<?php
$length = 8;
$passstr = "abcdefghkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ2345679";
$passarray = preg_split ("//", $passstr, 0, PREG_SPLIT_NO_EMPTY);
$pass = "";
for ($i = 0; $i < $length; $i++)
	$pass .= $passarray[array_rand ($passarray, 1)];
?>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください