ホームページ  >  記事  >  バックエンド開発  >  PHP は、ユーザーがモバイル ワップ経由でアクセスするか、コンピューターから直接アクセスするかをどのように判断します_PHP チュートリアル

PHP は、ユーザーがモバイル ワップ経由でアクセスするか、コンピューターから直接アクセスするかをどのように判断します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:44:121149ブラウズ

現在、スマートフォンユーザーが多く、ウェブサイトにアクセスする際に、多くの友人が携帯電話を使用してウェブサイトにアクセスしています。これは、PC版だと、間違いなく見栄えが悪くなります。そのため、多くの企業が WAP サイトを構築していますが、ユーザーが携帯電話から Web サイトにアクセスしているのか、PC からアクセスしているのかを判断するにはどうすればよいでしょうか。以下にいくつかの方法をまとめました。

最近、携帯電話のクエリ システムに取り組んでいましたが、これには当然この問題が含まれていました。次に、PHP を使用して、WAP の理解に基づいて、ユーザーのアクセス方法が WAP アクセスによるものか、直接コンピューター アクセスによるものかを判断します。
まずは最も根本的な解決策について話しましょう:
携帯電話からアクセスする場合、ユーザーエージェント情報には携帯電話番号の情報も含まれますので、携帯電話番号を取得できれば、確実にモバイルwap経由でアクセスできます。ただし、チャイナモバイルは現在ユーザーエージェント情報をブロックしているため、携帯電話番号を取得することはできません。関係のある友人は携帯会社に連絡し、WAP Web サイトサーバーの IP をチャイナモバイルに送信してホワイトリストに追加すると、UA 情報を取得できます。現在、チャイナユニコムは携帯電話番号を直接取得できるため、このソリューションはユニコムユーザーに完全に実装できます。
次に、私の解決策について話しましょう:
携帯電話からのアクセスの原理は、携帯電話会社のプロキシサーバーを経由してアクセスすることです。そうすれば、通常のコンピュータがプロキシ サーバーを使用していることがわかります。携帯電話がプロキシサーバー経由でアクセスする場合、http ヘッダー情報には必ず via という情報が含まれます。この情報は貴重な判断情報を提供します。
たとえば、Henan Mobile が取得する経由情報は次のとおりです:
http/1.1 hazz-b-gw001-wap(infox-wisg、huawei technology)
河南聯通の経由情報は次のとおりです:
zxwapゲートウェイ、zteテクノロジー
他の地方の http ヘッダー情報も同様です。モバイル アクセスが可能かどうかを判断する方法は、http の via 情報文字列を取得して、wap 文字が含まれているかどうかを確認します。含まれている場合は、携帯電話でアクセスします。この結果、誰も携帯電話へのアクセスを偽ることはできず、その判断は完全に正確です。当然のことながら、これはインターネット上で人気のある携帯電話の wap シミュレーターもブロックし、根本的にブロックします。
操作コードも非常にシンプルです:

コードは次のとおりです コードをコピー
//xhat で wap かどうかを確認する
関数 check_wap() {
return stristr($_SERVER['HTTP_VIA'],"wap") true : false;
}
// チェックしてください

私が検討した情報によると、この方法は、これまでのところ、インターネット上での携帯電話のアクセスを判断する最も正確かつ簡単な方法であるはずです。

iPhoneスマートフォン

discuzのiPhone版は基本的に完成しており、アクセスしやすいようにiPhoneからのアクセスをホームページ上で直接判定して直接ジャンプします

上記のコードを使用して判断すると、テスト結果は非常に良好です。

私が使用している、より包括的な判断クラス

コードは次のとおりです コードをコピー

/*
アクセスしているユーザーが携帯電話であるかどうかを判断する bKjia.c0m
//携帯電話かどうかを判断します
*/
関数 is_mobile() {
$user_agent = strto lower( $_SERVER['HTTP_USER_AGENT'] );
//エコー $user_agent;
$mobile_agents = Array("ipad","wap","android","iphone","sec","sam","ericsson","240x320","acer","acoon","acs-", "abacho"、"ahong"、"airness"、"alcatel"、"amoi"、"anywhereyougo.com"、"applewebkit/525"、"applewebkit/532"、"asus"、"audio"、"au-mic" ","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger" ,"dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig ","ハイアール","ヘディ","日立","htc","ファーウェイ","ハッチソン","inno","ipaq","ipod","jbrowser","kddi","kgt", "kwc"、"lenovo"、"lg"、"lg2"、"lg3"、"lg4"、"lg5"、"lg7"、"lg8"、"lg9"、"lg-"、"lge-"、 "lge9","longcos","maemo","メルカトル","子午線","micromax","midp","mini","みつ","mmm","mmp","mobi","mot -","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra", 「obigo」、「palm」、「panasonic」、「pantech」、「philips」、「phone」、「pg-」、「playstation」、「pocket」、「pt-」、「qc-」、「qtek」 、「ローバー」、「サジェム」、「サマ」、「サム」、「サンヨー」、「サムスン」、「sch-」、「スクーター」、「sec-」、「sendo」、「sgh-」、「sharp」 ","シーメンス","sie-","softbank","sony","spice","sprint","spv","symbian","tcl-","teleca","telit","tianyu ","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel", "vx"、"wellco"、"wig ブラウザ"、"wii"、"windows ce"、"wireless"、"xda"、"xde"、"zte"、"ben"、"hai"、"phili") ;
$is_mobile = false;
foreach ($mobile_agents を $device) {
if (stristr($user_agent, $device)) {
If( 'ipad' == $device )
{
$is_mobile を返します;
}
$is_mobile = true;
休憩
}
}
$is_mobile を返します;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/633111.html技術記事最近はスマートフォンユーザーが多く、携帯電話から直接アクセスする人も多いので、PC版だとどうしてもアクセスが悪くなってしまいます。人々の交通費がかかります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。