ホームページ バックエンド開発 PHPチュートリアル 用php代码限制国内IP访问我们网站_php技巧

用php代码限制国内IP访问我们网站_php技巧

May 16, 2016 pm 08:07 PM
限界

利用淘宝的IP接口来判断IP,是否是国内的ip,是国内(CN)的就不允许访问。

$ip = $_SERVER['REMOTE_ADDR'];
$content = file_get_contents(‘http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$banned = json_decode(trim($content), true);
$lan = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
if((!empty($banned['data']['country_id']) && $banned['data']['country_id'] == ‘CN') || strstr($lan, ‘zh'))
{
header(“HTTP/1.0 404 Not Found”);
echo ‘HTTP/1.0 404 Not Found';
exit;
}
ログイン後にコピー

同时发现一篇好文章:http://luhuang.sinaapp.com/redis-setnx/ 《Redis 来限制高并发 php代码实例》

Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。
Redis 来限制高并发
php代码实例

$redis->setnx(‘lock:hot_items', true)尝试创建一个key作为”锁”.若key已存在,setnx不会做任何动作且返回值为false,所以只有一个客户端会返回true值进入if语句更新缓存. 
$redis = new redis();
$redis_key = ‘lock:hot_items';
$clock_expire_time = $redis->get($redis_key);
if(!empty($clock_expire_time) && time() > intval($clock_expire_time))
{
//解除当前Redis锁
$redis->delete($redis_key);
}

if($redis->setnx($redis_key, time() + 3) !== true)
{
echo ‘高并发有冲突';
}

//操作你的代码, 同一时刻就一个人访问该代码了

//解除当前Redis锁
$redis->delete($redis_key);
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメントの文字数制限はどのくらいですか? 動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメントの文字数制限はどのくらいですか? Mar 22, 2024 pm 02:11 PM

ソーシャルメディアでのビデオアカウントの人気により、ますます多くの人がビデオアカウントを使用して日常生活、洞察、ストーリーを共有し始めています。ただし、一部のユーザーはコメントが制限されているため、混乱や不満を感じる可能性があります。 1. 動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメント制限を解除するには、アカウントが正しく登録され、実名認証が完了していることを確認する必要があります。動画アカウントにはコメント要件があり、実名認証を完了したアカウントのみコメント制限を解除できます。アカウントに何らかの異常がある場合は、コメント制限を解除する前に問題を解決する必要があります。 2. 動画アカウントのコミュニティ基準に準拠します。動画アカウントではコメント内容に一定の基準があり、違法な内容が含まれるコメントの場合は発言が制限されます。コメント制限を解除するには、動画アカウントのコミュニティに従う必要があります

JavaScript を使用して画像をコンテナ内に制限しながらドラッグしたりズームしたりするにはどうすればよいですか? JavaScript を使用して画像をコンテナ内に制限しながらドラッグしたりズームしたりするにはどうすればよいですか? Oct 20, 2023 pm 04:19 PM

JavaScript はコンテナ内に限定しながら画像のドラッグとズームをどのように実装するのでしょうか? Web 開発では、画像をドラッグしてズームする必要がよくあります。この記事では、JavaScriptを使用して画像のドラッグやズーム、コンテナ内での操作を制限する方法を紹介します。 1. 画像をドラッグする 画像をドラッグするには、マウス イベントを使用してマウスの位置を追跡し、それに応じて画像の位置を移動します。以下はサンプルコードです: //ピクチャ要素 varimage を取得します。

システム ログに対するユーザーの変更を制限するように CentOS システムをセットアップする方法 システム ログに対するユーザーの変更を制限するように CentOS システムをセットアップする方法 Jul 05, 2023 pm 03:43 PM

ユーザーによるシステム ログの変更を制限するために CentOS システムを設定する方法 CentOS システムでは、システム ログは非常に重要な情報源であり、システムの動作状況、エラー メッセージ、警告などが記録されます。システムの安定性とセキュリティを保護するために、ユーザーによるシステム ログの変更を制限する必要があります。この記事では、CentOSシステムでシステムログの変更権限を制限する設定方法を紹介します。 1. ユーザー グループとユーザーを作成する まず、システム ログの管理を特に担当するユーザー グループと、システム ログを管理するためのユーザー グループを作成する必要があります。

C++ 関数のオーバーロードに関する制限と考慮事項は何ですか? C++ 関数のオーバーロードに関する制限と考慮事項は何ですか? Apr 13, 2024 pm 01:09 PM

関数のオーバーロードに関する制限には、パラメーターの型と順序が異なっていなければならない (パラメーターの数が同じ場合)、およびデフォルトのパラメーターをオーバーロードの区別に使用できないことが含まれます。また、テンプレート関数と非テンプレート関数をオーバーロードすることはできません。また、テンプレート仕様が異なるテンプレート関数をオーバーロードすることもできます。関数のオーバーロードを過度に使用すると、可読性とデバッグに影響を与える可能性があることに注意してください。コンパイラは、最も具体的な関数から最も具体性の低い関数まで検索して競合を解決します。

Go 言語のリフレクション メカニズムの制限は何ですか? Go 言語のリフレクション メカニズムの制限は何ですか? Jun 09, 2023 pm 11:31 PM

Go 言語は静的型付け言語であるため、コードを記述する際に各変数の型を明確にする必要があります。ただし、場合によってはプログラム内で動的に型を解析して操作する必要があり、この場合にはリフレクション機構を使用する必要があります。リフレクション機構は、プログラム実行時にプログラムオブジェクトの型情報を動的に取得し、解析・操作できるため非常に便利です。ただし、Go 言語のリフレクション機構にもいくつかの制限があるので、以下で詳しく見てみましょう。反射メカニズムがパフォーマンスに与える影響 反射メカニズムを使用すると、生成を大幅に強化できます

WPS メンバーがアップロードできるドキュメントの最大サイズが制限を超えている場合はどうすればよいですか? WPS メンバーがアップロードできるドキュメントの最大サイズが制限を超えている場合はどうすればよいですか? Mar 20, 2024 pm 06:40 PM

WPSは総合的な業務を統合するオフィスソフトで、現在はダウンロードして利用することができますが、より多くの機能を利用したい場合は会員登録が必要です。 WPS メンバーがアップロードできるファイルの最大サイズはどのくらいなのか疑問に思う人もいるかもしれません。 WPS会員ユーザーの場合、1回あたり最大1Gまでファイルをアップロードでき、すべてのファイルを合計すると最大365Gまで可能です端末によって多少の違いはあるかもしれませんが、全体的な表示は基本的に同様です。制限を超えてアップロードできない場合はどうすればよいですか?次に説明していきます。 1. クラウド文書などのファイルをアップロードする場合、一定の容量があり、それを超えるとアップロードできません。 2. メンバーシップのロゴをクリックし、必要に応じてメンバーシップを購入し、スペースを展開します。 3. クーポンが時々登場するので忘れずに利用しましょう。

インラインテンプレート関数の用途と制限事項 インラインテンプレート関数の用途と制限事項 Apr 28, 2024 pm 02:33 PM

インライン テンプレート関数は、別の関数オブジェクトを生成せずに、コードを呼び出しポイントに直接挿入します。アプリケーションには、コードの最適化、パフォーマンスの向上、定数の評価、コードの簡略化などが含まれます。ただし、コンパイル時間の延長、コード サイズの増加、デバッグ可能性の低下、コンパイル単位間の制限などの制限があることに注意してください。

Nginx は悪意のある攻撃を防ぐためにアクセス頻度の設定を制限します Nginx は悪意のある攻撃を防ぐためにアクセス頻度の設定を制限します Jul 04, 2023 pm 05:01 PM

Nginx では、悪意のある攻撃を防ぐためにアクセス頻度の設定を制限していますが、インターネットの発展に伴い、Web サイトのセキュリティが重要な課題となっています。悪意のある攻撃を防ぐためには、アクセス頻度を制限する必要があります。高性能 Web サーバーとして、Nginx は構成を通じてこの目標を達成できます。 Nginxには、アクセス頻度を制限できるlimit_req_moduleというモジュールが用意されています。構成する前に、モジュールが有効になっていることを確認する必要があります。 nginx.conで

See all articles