ホームページ >バックエンド開発 >PHPの問題 >PHPでPCアクセスを禁止する方法

PHPでPCアクセスを禁止する方法

藏色散人
藏色散人オリジナル
2022-11-08 10:31:461414ブラウズ

phpでPCアクセスを禁止する方法: 1. PHPサンプルファイルを作成する; 2. 「public static function check_wap(){...}」でモバイルアクセスかどうかを確認する; 3. クライアントに送信されたかどうかを確認する携帯電話端末フラグによる; 4. 「HTTP_USER_AGENT」から携帯ブラウザのキーワードを検索します。

PHPでPCアクセスを禁止する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

PHP で PC アクセスを禁止するにはどうすればよいですか?

PHP には携帯電話からアクセスできますが、PC からはアクセスできません

コードはオンラインに移動され、テストされています (IOS 携帯電話)。Android 携帯電話をお持ちの場合は、 , あなたは自分でもう一度テストすることができます. 環境の制限により、方法はありません. 携帯電話でスクリーンショットを送信したい場合は、コンピュータを使用してスクリーンショットを撮るだけです! PHP バックエンド検証メソッド、false の場合は携帯電話アクセスではなく、true が返された場合は携帯電話アクセスです;

public static function check_wap()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
return true;
}
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset($_SERVER['HTTP_VIA'])) {
//找不到为flase,否则为true
if (stristr($_SERVER['HTTP_VIA'], "wap")) {
return true;
}
}
//协议法,因为有可能不准确,放到最后判断
if (isset($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) !== false) && (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;) === false || (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) < strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;)))) {
return true;
}
}
return false;
}

次のコードは、必要に応じてブラウザ F12 デバッグ シナリオを決定するためのものです。 PC側からアクセスする場合 ブラウザにアクセスする場合は、3番目の判定(合意方式)の上にこのコードを追加するだけです コードが長すぎるので縮小してスクリーンショットを撮ってください:

//判断手机发送的客户端标志,兼容性有待提高
if (isset($_SERVER[&#39;HTTP_USER_AGENT&#39;])) {
$clientkeywords = array (
&#39;nokia&#39;,
&#39;sony&#39;,
&#39;ericsson&#39;,
&#39;mot&#39;,
&#39;samsung&#39;,
&#39;htc&#39;,
&#39;sgh&#39;,
&#39;lg&#39;,
&#39;sharp&#39;,
&#39;sie-&#39;,
&#39;philips&#39;,
&#39;panasonic&#39;,
&#39;alcatel&#39;,
&#39;lenovo&#39;,
&#39;iphone&#39;,
&#39;ipod&#39;,
&#39;blackberry&#39;,
&#39;meizu&#39;,
&#39;android&#39;,
&#39;netfront&#39;,
&#39;symbian&#39;,
&#39;ucweb&#39;,
&#39;windowsce&#39;,
&#39;palm&#39;,
&#39;operamini&#39;,
&#39;operamobi&#39;,
&#39;openwave&#39;,
&#39;nexusone&#39;,
&#39;cldc&#39;,
&#39;midp&#39;,
&#39;wap&#39;,
&#39;mobile&#39;,
&#39;phone&#39;,
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode(&#39;|&#39;, $clientkeywords) . ")/i", strtolower($_SERVER[&#39;HTTP_USER_AGENT&#39;]))) {
return true;
}
}

推奨学習: "PHP ビデオ チュートリアル>>

以上がPHPでPCアクセスを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。