Child treeとChild K-Taiというものを使用し、携帯とPC共用しているのですがPCはIPでアクセス拒否できますが携帯はIPで拒否するとドコモならドコモすべてを弾いてしまいます。
これを機種別とかで拒否する方法ってないもんでしょうか…もっと欲を言えば個別識別番号を送信させてそれで拒否する、ような…。
携帯で書き込みをする際のformタグにutnを追加してみたらドコモでは個別識別番号を送信させることには成功したんですが、それを記録させる方法がわからず^^;片手落ちです。
auはどうしたらいいか…って問題もあったり。
どうにかしてアクセスを拒否する方法ってないものでしょうか?
パスワード入場とかは考えましたが、手間がかかっていやだとユーザーの方から苦情が出てしまったので…なんとか管理側である人(携帯)だけを弾く方法を探しています。
どなたか良いお知恵を授けてください。
http://cafelounge.net/dev/?%B7%C8%C2%D3%A5%B5%A5%A4%A5%C8
携帯サイト - developer - Miko's Cafeterrace
docomo/vodafoneではutnをつけるとHTTP_USER_AGENTに、
auではHTTP_X_UP_SUBNOに固体認識番号が返ってきます。
これを取り出すのは、たとえばPerlならば以下のようにすればいいのでは。
$id_docomo=$ENV{’HTTP_USER_AGENT’};
$id_au=$ENV{’HTTP_X_UP_SUBNO’};
あとはそれぞれ必要な部分の文字列を加工して取り出すだけです。
PHPだと$_SERVER[’HTTP_USER_AGENT’]や$_SERVER[’HTTP_X_UP_SUBNO’]かな?
auは端末設定によってこの番号を送らない設定も可能なようですが、上記環境変数の値に端末認識番号らしき文字列が見つからなかった場合は「携帯の設定を変更してください」などというメッセージを出せばいいと思います。
ただし、偽装された情報を見抜くことはできません。
http://www.au.kddi.com/news/information/au_info_20050404.html
KDDI au: auからのお知らせ一覧 > お知らせ
既に当初の質問内容からはずれちゃってますが・・・
$id_docomoや$id_auはそれぞれの文字列情報を格納した「変数」なんですよ。
だから、「変数」を$ENVから取得した後に
print $id_docomo,”<br>”;
print $id_au,”<br>”;
としてやれば「変数」の中身が表示されますよ。
それで確認できると思います。
で、あとはPerlの文字列変数を加工して、実際に必要な部分を取り出す作業がいると思いますが、それらはPerlの参考サイトをあちこち参照したほうがいいと思いますよ。
ありがとうございます。どうも私の力量では無理っぽいことだけは良くわかりました…。
簡単に設置できる方法って無いいもんですかねぇ…
固体識別番号を保存することは、普通のサイト作成者には確か無理だったようなきがします。
表示させるのは簡易なのですが、保存は無理だった覚えがあります。
固体識別番号から端末を特定することもできなく、また、PCのようにクッキーで判別させることも無理なため、
荒らし対策のため、禁止ワードや何文字以上の書き込みを禁止する設定をとる以外は無いと思います。
いえ。掲示板には出来てないですけどチャットには実装済みです。一応保存も出来てます。
ありがとうございます。限りなく初心者なのでおっしゃる意味がほとんどわかってないと思います^^;すみません。
$id_docomo=$ENV{’HTTP_USER_AGENT’};
は入れたんですが…どこにいてるのかがわかんないんです…^^;今までどおり、普通のIPはいてるんですけど、肝心の番号はどこーっ?て感じなんですわ…
って、ここまでいくともうソース見てもらうしかないのかなぁ…
すみません。自分でも良くわかってない質問して。
掲示板なんですけど(Perl)作成者が加工相談は受けてくれてないもので…聞くところが無くこちらに来ました。