※ ChatGPTを利用し、要約された質問です(原文:Perlで携帯電話の製造番号を取得)
Perlで携帯電話の製造番号を取得する方法
このQ&Aのポイント
Perlで携帯電話の製造番号を取得するスクリプトを作成しています。docomo、au、ソフトバンクのみで取得し、iPhoneやイーモバイルは取得しないようにしています。携帯電話でアクセスした人の本人確認には製造番号を使用し、画面のカスタマイズを可能にするサイトを作ろうとしています。
スクリプトでは、ソフトバンクの場合は「HTTP_X_JPHONE_UID」を、auの場合は「HTTP_X_UP_SUBNO」を、docomoの場合は「HTTP_USER_AGENT」の中から「ser」を検索して製造番号を取得しています。取得した製造番号を表示することで、本人確認ができるようにしています。
このサイトは1ヶ月程度の期間だけオープンする予定であり、金銭的な絡みや個人情報の取得は行わないため、携帯電話の所有者が変わった場合でも問題はありません。
Perlで携帯電話の製造番号を取得
Perlで携帯電話の製造番号を取得するスクリプトを作っています。
docomoのD905iしか持っておらず、他の携帯での動作確認ができません。
以下のスクリプトで正しいでしょうか?
以下のスクリプトで、他にやっておいたほうがよい事など、
何かアドバイスがありましたらお願いします。
やりたいことは、
docomo、au、ソフトバンクのみで取得する。
iPhone、イーモバイルは取得しない。
古い携帯電話で取得できないものは切り捨てる。
携帯電話でアクセスした人が、それぞれに画面をカスタマイズでき、
次回アクセスしたときも同じ画面が表示されるようなサイトを作ろうとしています。
普通はクッキーで本人確認するのだと思いますが、携帯電話ではクッキーが
無いので、代わりに製造番号を使って本人確認しようと考えています。
1ヶ月くらいだけオープンするサイトであり、金銭的な絡みも個人情報も無いので、
携帯電話の所有者が変わったときの問題は無いと思っています。
■ HTML
<a href="./test.cgi" utn>製造番号取得</a>
■ Perl
#--ソフトバンク
if($ENV{'HTTP_X_JPHONE_UID'} ne ''){
$uid = $ENV{'HTTP_X_JPHONE_UID'};
}
#--au
elsif($ENV{'HTTP_X_UP_SUBNO'} ne ''){
$uid = $ENV{'HTTP_X_UP_SUBNO'};
}
#docomo
else{
$agent = $ENV{'HTTP_USER_AGENT'};
$ser_index = index($agent,'ser');
if ($ser_index != -1) { $uid = substr($agent,$ser_index+3); }
}
print"製造番号:$uid<br>\n";
以上、よろしくお願いします。
お礼
ありがとうございます。 製造番号の代わりにiモードIDというのができたのですね。知らなかったです。 iモードIDは、毎回「製造番号を送信してよろしいですか?」の確認が表示されないので、良いですね。 docomoの部分を修正しました。 ■ HTML <a href="./test.cgi?guid=ON">製造番号取得</a><br><br> ■ Perl #--ソフトバンク if($ENV{'HTTP_X_JPHONE_UID'} ne ''){ $uid = $ENV{'HTTP_X_JPHONE_UID'}; } #--au elsif($ENV{'HTTP_X_UP_SUBNO'} ne ''){ $uid = $ENV{'HTTP_X_UP_SUBNO'}; } #docomo elsif($ENV{'HTTP_X_DCMGUID'} ne ''){ $uid = $ENV{'HTTP_X_DCMGUID'}; } print"製造番号:$uid<br>\n";