トップページ⇒php
927コメント283KB

携帯サイトのWebプログラムを語ろう Part3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/01/21(水) 22:36:26ID:Up1FlolP
携帯サイトのWebプログラムに関する話題を扱うスレです。

前スレ
http://pc11.2ch.net/test/read.cgi/php/1207013301/
0133nobodyさん2009/03/11(水) 11:25:09ID:???
俺はCPANにあるモジュール使ってすべてのキャリアのIPアドレス帯域をファイル吐き出すプログラムを作って
それをCRONで回してつかっているのだが
0134nobodyさん2009/03/11(水) 11:40:43ID:???
>>132
んなもんいらね
0135nobodyさん2009/03/11(水) 11:56:39ID:???
公式サイトやってて、要らないわけがない。
0136nobodyさん2009/03/12(木) 00:31:10ID:???
公式でも、UA偽装だけで見れるサイトもたくさんあるよ。
0137nobodyさん2009/03/12(木) 01:59:57ID:???
topページだけIPアドレスで制限してるアホな処もあったからなあ。
0138nobodyさん2009/03/12(木) 17:05:25ID:???
イーモバのIPアドレスの公開ページに、embとEMnetの違いや公開してるIPアドレスはEMnet用で
emb用は非公開、云々の説明が追加されてた。

当初からそうだったが、イーモバのネット関係の情報公開は結構マジメで玄人っぽいよな。
それに比べると日本通信なんかド素人っぽい感じがするし。
0139nobodyさん2009/03/12(木) 19:23:23ID:???
これってIPアドレスとかで何か不都合が出そうかな?

一応、今のところ日本通信用のIPアドレスも別途管理はしているが、更に鬱陶しい事に
ならなければ良いが、どうなんだろう。

“レイヤー2接続”が生む高い付加価値――日本通信が「Doccica」で挑む新MVNOビジネス
http://plusd.itmedia.co.jp/mobile/articles/0903/12/news022.html
0140nobodyさん2009/03/13(金) 16:19:08ID:???
ただ稼ぎたいだけなら、いろいろ考えなくても
レンタル掲示板でこんなあぷろだでもやってれば稼げるんでね?

ttp://res.atura.jp/bbs/res/bbsno/36698/threno/5994549
0141nobodyさん2009/03/16(月) 20:58:48ID:8rUGOGFT
ホストでアクセス制限ってどうかな
一応IPアドレスでの制限も別サイトで稼動させてて使えるんだが、
BBSの書き込み制限はそれを使うとして、
表示制限の部分だけホストでの制限を試してみようと思うんだが
逆引きは常にやってる鯖なので無問題
ホストの偽装に現実に出会った人いる?
また、逆引きできないなんてあったとしても1年に1回ぐらいの無視できる回数だよね?
0142nobodyさん2009/03/17(火) 16:50:51ID:???
一応キャリアのサイトには逆引きは保証しないって書いてあるけれど・・・

ライトなサイトであればホストでの制限でも別によいのでは?と思う。
0143nobodyさん2009/03/17(火) 22:06:03ID:???
うちはUA確認かIP確認の2択だ
逆引きとか中途半端で負荷のかかる事は選択肢に無い
0144nobodyさん2009/03/18(水) 01:29:54ID:???
>>141
なりすましメールのためにキャリアの逆引き設定されてるような、
そういう特定アジアのどうしょうもないIPが開放されると思うと
普通に考えて怖くないの?
0145nobodyさん2009/03/19(木) 16:14:16ID:???
なんかauのサイトでいつのまにかPCサイトビューワ用のIPアドレス頁が追加されてるな。

3/10の時点では無かった筈だが、リンク元のEZサーバ用の日付は3/10のままだけど、これで
やっとdocomoやSBと同等になったなあ。

あとWillcomのIPアドレスが本日付けで、又2個削除されてた。ユーザーが想定より増え
なかったせいか? (藁
0146nobodyさん2009/03/20(金) 17:19:25ID:???
>>145
でもPCサイトビューアのUserAgentは公開されてないみたいだから、正規に公開してるdocomoや
SBと同等になったとは言いがたい。
0147nobodyさん2009/03/22(日) 10:53:20ID:0XyV+hxh
絵文字を3キャリアで出力するのって、
$flowerっていう変数に対して
キャリアごとに各絵文字出力のタグを割り当てるのがセオリーなの?

if($career = "docomo"){$flower = "ドコモの絵文字書き出し";}
else if($career = "au"){$flower = "auの〜";}
else if($career = "softbank"){$flower = "sbの〜";}

って感じで。。
もっと賢いプラグインとかモジュールってありますか?
0148nobodyさん2009/03/22(日) 16:22:15ID:???
>>147
最終的にはそういう処理をするけど、同じ事をする絵文字変換用のライブラリが
各言語ごとに絶対あるから探して利用するといいよ。

それから、テンプレートエンジンを使用して、絵文字の表記は
1つのキャリアの絵文字を書くだけにするほうがいいよ。
たぶん、ドコモの16進数表記をテンプレートに書いて、
画面表示の時にUserAgentに応じて、絵文字変換&文字コード変換を行う
というパターンが多いんじゃないかな。

最近PHP使ってないけど、以前はMobilePictogramConverterとSmartyでやってた。
最近はRuby(Rails)を使っているんだけど、こっちはjpmobileというプラグインでやれる。
0149nobodyさん2009/03/22(日) 21:55:18ID:0XyV+hxh
>>148
うおー、すごく丁寧なアドバイスありがとうございました!
参考にして頑張ります!
0150nobodyさん2009/03/24(火) 21:02:49ID:QifOBF6u
あ
0151nobodyさん2009/03/24(火) 21:06:48ID:QifOBF6u
みすった。
掲示板に書き込みがあったらスレッド主にメールを送るプログラムを作ったのですが
クライアントがformでメールアドレスをサーバに送る時、SSLを利用すべきか迷っています。
メールアドレスを送る時、一緒に送るデータはHN、タイトル、コメントです。
皆さんだったらどうしますか?よろしくお願いします。
0152nobodyさん2009/03/24(火) 22:12:14ID:???
>>151
2chでもSSLなんて使ってないけどどう思う?
あと、よく見る「このページを友達に知らせる」みたいな機能もSSLなんてかませてないし
俺だったらそこまで気を回さないな、、
0153nobodyさん2009/03/24(火) 23:37:07ID:QifOBF6u
確かにそうですね…
使わない方向でいこうと思います。ありがとうございました。
0154nobodyさん2009/03/25(水) 21:15:36ID:LXbBKXNm
PC/mobile両対応のサイトを作成しています
内部コードUTF-8,PCの表示はUTF-8,mobile表示はSJIS-winです
そこで疑問があるのですが、
「UTF-8にあってSJIS-winにない文字」の処理は
どうやるのがセオリーなのでしょうか?
0155nobodyさん2009/03/25(水) 22:11:39ID:???
使わない。
0156nobodyさん2009/03/25(水) 22:17:24ID:???
PCでユーザに入力された文字を
mobileで閲覧できるようにするときはどうします?
0157名無し募集中。。。2009/03/25(水) 22:36:45ID:J1npucsm
入力チェックで弾くがなそんなの
ダメ文字は優しく置換してあげる
プログラム組むの面倒ならiconvでUTF8からMS932にしてやれば一発
0158nobodyさん2009/03/25(水) 22:51:22ID:???
>>154
mobileってのが携帯電話のことなら、そっちもUTF-8で良いんじゃない?
表示出来無い文字は表示出来ないんだし。
0159nobodyさん2009/04/07(火) 01:05:22ID:???

携帯サイトのWebプログラムを語ろう Part2

924 :nobodyさん:2009/01/05(月) 10:49:43 ID:???
auは今月から4月まで毎月IP追加あり
公式持ちには告知済みだけど


釣られたか
0160nobodyさん2009/04/08(水) 22:47:58ID:fzKk45P9
IPからキャリアを調べる関数作ってみたんだけど
お前らはどうやってんの?

$IPList = <<< __EOD__

i 210.153.84.0/24

j 123.108.236.0/24

e 210.230.128.224/28

__EOD__;

function carrier(){
 global $IPList;
 $ipc='p';
 $ipr=array(long2ip($ipl=ip2long($_SERVER['REMOTE_ADDR'])).'/32'=>true);
 for($i=31;$i>=24;$i--)$ipr[long2ip($ipl&-pow(2,32-$i)).'/'.$i]=true;
 foreach( explode("\n",$IPList) as $val ){
  if(preg_match( '/^(\w)[\t ]+((\d+\.){3}\d+\/\d{2})/',trim($val),$m)&&isset($ipr[$m[2]])){$ipc=$m[1];break;}
 }
 return $ipc;
}
print carrier();
0161nobodyさん2009/04/08(水) 22:52:35ID:???
>>160
gethostbyaddr()
0162nobodyさん2009/04/09(木) 01:20:05ID:???
>>160
ip2longとかpregとかちょっと重いんじゃね?

あと、行数減らしたいだけならもっと徹底的にやれば?ちょっと見るだけでも短くなるが

function carrier($IPList){
 for($ipr=array(),$ipl=ip2long($_SERVER['REMOTE_ADDR']), $i=32;$i>=24;$i--)
  $ipr[long2ip($ipl&-pow(2,32-$i)).'/'.$i]=true;
 foreach( explode("\n",$IPList) as $val )
if(preg_match( '/^(\w)[\t ]+((\d+\.){3}\d+\/\d{2})/',trim($val),$m)&&isset($ipr[$m[2]])) return $m[1];
 return 'p';
}
print carrier($IPList);
0163nobodyさん2009/04/09(木) 01:22:00ID:???
>>161
逆引きは信用ならんだろ
0164nobodyさん2009/04/09(木) 09:20:17ID:???
キャリアを信用ならんとなw
0165nobodyさん2009/04/09(木) 23:48:12ID:???
DNSの仕組みをもうちょっとお勉強しましょうね
0166nobodyさん2009/04/09(木) 23:57:43ID:???
IPは信用ならんだろ
0167nobodyさん2009/04/10(金) 07:19:13ID:???
全てが信用できませんY(>_<、)Y
0168nobodyさん2009/04/10(金) 14:25:57ID:???
TCPでちゃんと返事が来るIPなら、信用出来るだろ
0169nobodyさん2009/04/10(金) 14:34:18ID:???
あ、インターネットまでの経路に虫とかは勘弁な
0170nobodyさん2009/04/10(金) 14:42:06ID:???
この流れ、ほとんど解読不能なんだけど
わかってるふりとか意味ないから、やめときなよ
0171nobodyさん2009/04/10(金) 16:51:13ID:???
お前が理解できてないことは、よっくわかってるから
安心して
0172nobodyさん2009/04/10(金) 23:52:04ID:???
暇なんで、理解に役立つかもしれないURL張っとくわ

http://ja.wikipedia.org/wiki/%E9%80%86%E5%BC%95%E3%81%8D
>逆引きで返ってくる結果は所詮は自称にすぎないので、
シンガポールのネットワークから「私の逆引き名は docomo.ne.jpです」って言いながらアクセス可能

http://ja.wikipedia.org/wiki/SYN_flood
>接続元アドレスは通常すべて異なるアドレスに偽装されているので、
パケット投げる時の自分のIPは自称なので、信用できません

http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/output/tcpconnections.html
行って来いして初めて通信確立となるのがTCP
なので、基本的にIPを詐称したパケットの返事はどっかに行ってしまう
返事が無いのでsyn+ackが確立できないからTCP通信できません

http://herald.jugem.jp/?eid=67
http://blog.hitachi-system.co.jp/02/845.html
http://memo.hirosiki.jp/article/99047461.html
でも、デフォルトゲートウェイが詐称されると、どんなパケットだろうとも嘘言われちゃう
ハウジングの隣のサーバーは何する人ぞww
0173nobodyさん2009/04/11(土) 00:18:49ID:???
逆引きはプロバイダから DNS の権限委譲さえあれば誰でも自由に名乗れるからな
ezweb.ne.jp とかも勝手に名乗れるし、違法でもなんでもない
0174nobodyさん2009/04/11(土) 00:21:50ID:???
IPアドレスはこの目的なら信用して差し支えないレベル
0175nobodyさん2009/04/11(土) 01:26:52ID:???
REMOTE_ADDRで携帯か判断してるんだけど
これは信用できますか?><
0176nobodyさん2009/04/11(土) 03:28:58ID:???
IPは信用ならんだろ
0177nobodyさん2009/04/11(土) 04:01:58ID:???
>>176

>>172を読みました

「携帯からのアクセス時のみページを表示する」
と言う動作をさせたい場合に、
REMOTE_ADDRのみを判断材料にするのは
問題ありませんか?><
0178nobodyさん2009/04/11(土) 04:52:25ID:???
>>177
>>174
0179nobodyさん2009/04/11(土) 06:02:06ID:???
>>177
>>166
0180nobodyさん2009/04/11(土) 07:09:15ID:???
172が言うような類は、今なら全部FWで落ちるよw
01811772009/04/11(土) 08:15:34ID:???
>>180

なるほど><
世の中の流れが俺に合ってきてると言うことですね><
0182nobodyさん2009/04/11(土) 21:30:25ID:MJPWjUnv
携帯のキャリアIPアドレス帯域ごとに
Apache/httpd.confのsetenvifで環境変数を設定したいときはどうしてますか?
CIDR形式とか使えないようなので第三オクテットまでで判別するとかいうサイトを見つけたんだけど、
それでいいのか
それとも正規表現で抜き出すべきなのか
単にアクセス制限だけじゃなくて、絵文字変換の処理もあるので、
キャリア振り分けの結果を環境変数に入れてスクリプト側で取得したい
0183nobodyさん2009/04/13(月) 10:22:52ID:???
そんな面倒なことしなくても、スクリプト側でやれば済む話。
別にたいした行数でも負荷でもないし。
0184nobodyさん2009/04/13(月) 23:49:35ID:???
画像の対応もあるからな
0185nobodyさん2009/04/14(火) 03:20:16ID:???
>>184
(゚Д゚)ポカーン
0186nobodyさん2009/04/14(火) 09:06:30ID:???
pngにしないといけない機種とかを知らない世代か?
0187nobodyさん2009/04/14(火) 09:26:21ID:???
>>186

>>184が質問と全然関係無いってことだよ
01881872009/04/14(火) 09:33:18ID:???
一応補足

質問は判別部分をhtaccessに分担させて、
結果をスクリプトに渡したい

→そんなことしないで全部スクリプトでやってしまえば?

→画像の変換もしないといけないしな(キリッ)

(゚Д゚)・・・
0189nobodyさん2009/04/14(火) 12:09:13ID:???
>>123 ってマジっぽいな。

http://anchorage.2ch.net/test/read.cgi/keitai/1239639826/3
0190nobodyさん2009/04/14(火) 16:06:31ID:???
>>189
何をいまさらw
まぁどうせ全機種対応は怪しいと思うが。
0191nobodyさん2009/04/14(火) 16:34:16ID:???
茸はJavaScriptの前にcookieとSSL環境下でのuid取得対応しろっての
0192nobodyさん2009/04/14(火) 16:37:52ID:???
しかし逆に何のためにSSLでuid取得できないようにしたのだろう…
cookieなら面倒くさいからとかわかるが
0193nobodyさん2009/04/14(火) 17:53:12ID:???
>>189
キャッシュとかを大きくされても、ちゃんと処理能力が追いついてるのやら。

つい最近画像無しで20KB未満の簡単なxhtmlな頁を作って、某3G携帯の内部メモリに転送
してアレコレ操作してみたが、結構レスポンスがもっさりしてた。

ネット経由だと更にもっさりしそうでガッカリしたよ。まあcssを結構たくさん使ったせい
もあるのかもしれんが。
0194nobodyさん2009/04/14(火) 18:24:16ID:???
Apacheレベルで制御を掛けれるなら、その方が都合がいい。
0195nobodyさん2009/04/15(水) 02:26:18ID:???
画像へのアクセス制限はapacheで出来ると楽だね
php autoなんたらーでやった事あるけど
0196nobodyさん2009/04/15(水) 11:47:33ID:???
画像の直リン禁止とかは、かんたんに出来るべw
0197nobodyさん2009/04/15(水) 13:20:37ID:???
>>192
SSL の基本的な仕組みが分かってないんだな。
仕組みから考えると、SSL でやるのは一苦労だと思うよ。。。
茸の GW の仕様次第だろうけど。
0198nobodyさん2009/04/15(水) 17:24:27ID:???
一苦労も何もauは余裕で対応してるわけで
0199nobodyさん2009/04/15(水) 23:44:10ID:???
SSLを携帯でつかうなんて発想がなかったんだろうなぁ。
最初にゲートウェイでuidを付加するなんてしなきゃよかったのに(後の祭り)
0200nobodyさん2009/04/16(木) 02:56:57ID:???
クッキーくらい対応しろよ
0201nobodyさん2009/04/16(木) 03:45:31ID:VJqS0A18
椎茸はIEなみの癌だな
あんな契約数がいるのが謎だ…といってもガラパゴスじゃどこも大差ないか
0202nobodyさん2009/04/16(木) 14:33:16ID:???
>>198
uid=NULLGWDOCOMO なり、guid=ON ってのは、
SSL だと、普通のゲートウェイだと判別出来ないはずだからな。。。
au みたいにいつでも付与するなら余裕だとは思うが…。
0203nobodyさん2009/04/17(金) 02:13:09ID:???
まあ常に送信となるとGW内で常に参照が発生して重くなるからな
限定したのは妙案だけど
まさかここまで一般的に利用されることになろうとは、ってとこか
0204nobodyさん2009/04/17(金) 02:39:59ID:???
環境変数に突っ込むだけだろ
0205nobodyさん2009/04/17(金) 10:01:36ID:???
そんな程度で重くならならないわなw
鯖なめてんだろ?
0206nobodyさん2009/04/17(金) 16:59:10ID:???
Docomoの偉そうなSEと重役が椅子を並べて
cookieとsslでのuid対応が不要
単純にこの結論に至ったというのは考えづらい
0207nobodyさん2009/04/18(土) 04:02:33ID:???
ドコモの個体識別番号取得方法とかクッキー非実装とか外部スタイルシート非対応とか、ホント、ユーザをなめてる。
0208nobodyさん2009/04/18(土) 12:20:19ID:???
guid=ONを作ったときになんで他の仕様にしなかったのかと
つい最近だろこの仕様作ったの
0209nobodyさん2009/04/18(土) 16:25:04ID:???
>>208
NULLGWDOCOMOの仕様をそのまま流用したんじゃまいか?
auみたいにしたらコストかかっちゃうじゃん。
0210nobodyさん2009/04/18(土) 19:51:45ID:???
セッションID乗っ取りの不正アクセスで
訴訟とか起こらないものだね

アメリカならあったのかな
0211nobodyさん2009/04/21(火) 23:34:30ID:oOMQhPeY
昔、携帯用サイトのcontent-typeはx-sjisと指定しろとどこかで読んだ気がするんだけど
今はShift_JISと指定していい?
0212nobodyさん2009/04/21(火) 23:58:34ID:???
今はUTF-8だろ
0213nobodyさん2009/04/22(水) 00:02:04ID:???
DocomoのPOSTがSJISとかってもう昔の話なのか…
0214nobodyさん2009/04/22(水) 00:09:31ID:???
SoftbankのPOSTがUTF-8も昔の話?
0215nobodyさん2009/04/22(水) 00:20:01ID:???
xxxじゃダメか?
0216nobodyさん2009/04/22(水) 00:25:17ID:???
XHTML対応端末ならUTF-8でいいよもう全部
MOVAとかHDMLとか対応するならShift_JISにしなきゃならんけど
0217nobodyさん2009/04/22(水) 00:36:03ID:???
movaっていつ消えるん?
0218nobodyさん2009/04/22(水) 02:14:23ID:???
>>211
x-sjisを解釈しない新機種があるからShift_JISかUTF-8のどちらかじゃないともう無理
0219nobodyさん 2009/04/23(木) 18:13:16ID:???
>>216
もうHDML端末でのインターネットサービスは、とっくに終わってるぞ。
0220nobodyさん2009/04/23(木) 20:15:56ID:???
でも、それ系の記述は今でも使う。
0221nobodyさん2009/04/24(金) 01:13:28ID:???
sjisとかサポートしなくていいから、もう
utf-8いったくが常識

古い端末いつまでも使っているような人は
新しいWebサービスを使わないと見ていい
0222nobodyさん2009/04/24(金) 09:16:31ID:???
別に新しいことをしてるわけない。
中高年以上が来るようなサイトは、古い端末、少ない横文字幅で作らない
といけない。

また、今後機種変更がにぶくなるから、幅広い対応が必要になっていく。
あるいは、一番下のVerに合わせたのだけ作るか。

auの決算とか見てると、端末が売れた数が見事に急降下してる。
この先はおよそ3年に1回ぐらいの機種変ペースになると見ていい。
以前なら新製品が出ると急速にその機種からのアクセスが増えたが
この先そういうことは減るかも。
0223nobodyさん2009/04/25(土) 03:46:24ID:???
WEBプログラムに関係のない蘊蓄は別板でどうぞ
0224nobodyさん2009/04/25(土) 11:57:09ID:???
関係ありありじゃんw

機種振り分けは一大事だぞ
0225nobodyさん2009/04/25(土) 16:16:10ID:???
禿銅

単なる携帯利用者の知り合いなんかに話をしても、何故機種別に動作確認する必要があるの?
って意識だったし。
0226nobodyさん2009/04/25(土) 21:45:30ID:jGdikLIS
ソフバンに、sjisでないとポストされる絵文字が消える端末があるって
本に出てたけど、utf-8にしてる人はそれらを切り捨ててるの?
0227nobodyさん2009/04/25(土) 22:20:52ID:???
むしろSoftbank3Gはutf-8にしないとおかしくならないか
0228nobodyさん2009/04/25(土) 23:08:16ID:???
>>227が正解
絵文字サブミット考えたらドコモとAUはSJISでSB3GCはUTF8バイナリが無難

中途半端な機種なら表示はWebエンコードのみで
サブミットされるのはUTF8バイナリーとかあったような
0229nobodyさん2009/04/27(月) 22:38:28ID:PNJMdM7M
>>228
ドコモとAUをSJISにした方がいいのは何故ですか?
0230nobodyさん2009/04/27(月) 23:14:58ID:???
別にどっちでもいいんだけど、古い機種はShift_JISにしか対応していないので念のため
XHTML対応機種しか対応しなくていいならUTF-8にしてもいいけど
0231nobodyさん2009/04/28(火) 00:15:27ID:???
サイズの節約にもなるね
まあ今時そこまで考えなくても良いかもだけど
0232nobodyさん2009/04/28(火) 01:28:28ID:???
>>230
絵文字も大丈夫なのかな
ドコモとAUだけをSJISにすると絵文字数値エンティティが3キャリアで被らない
■ このスレッドは過去ログ倉庫に格納されています