訪問者のソースの問題を表示する
function getIp(){
$onlineip='';
if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){
$onlineip=getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){
$onlineip=getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')){
$onlineip=getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){
$onlineip=$_SERVER['REMOTE _ADDR'];
}
$onlineip を返します。
}
$onlineip = getIp();
$ipinfo=json_decode(file_get_contents("http://ip.taabao.com/service/getIpInfo.php?ip=".$onlineip),true);// 将APIのjson格式解码保存到ipinfo变量
?>
<テーブル>
テーブル>
これは私が書いたもので、IP にはアクセスできますが、アクセスできるのは 1 回だけです。その後のゲストも表示されていますが、最初のゲストのソースは、対応するデータベースを構築していません。問題は、暗号化の問題であり、対応するデータテーブルも作成されていません。同じ公である場合ネットワークIPが送信された2人が同一のIPであるかどうかを確認する。 CMS と関係なく、これをテストすることもできます。また、これは
http://ip.taovao.com/service/getIpInfo.php から取得したデータです。この例は、テーブルを作成する必要はありません。
表示されるのは、すべての接続が同意されたソースであるかどうか? 使用する Web サーバーは中間にプロキシを通過しているかどうか?
クライアントの接続のそれぞれは異なるネットワーク プロバイダですか? 同じパブリック ネットワークの場合IP が送信された 2 人が同一の IP であるかどうかを確認します。 CMS に関係なく、http://ip.taovao.com/service/getIpInfo.php
から取得したデータをテストすることもできます。この例では、テーブルを作成する必要はありません。
他の訪問者は同じパブリックネットワーク上にいないので、テストのために他の場所からの友人に送信しました。表示されているのは私のIPです
そもそもIPの取得方法は厳密ではありません、それが今日まで流通し、今でも人々が使用しているとは予想していませんでした
IPの取得方法は厳密ではありません。そもそも、これが今日まで配布され、まだ人々に使用されているとは思いませんでした
もっと厳密にするには
まずは $_SERVER['REMOTE_ADDR'] を試してみてください。
あるいは、そのコード内のどの変数が最後に有効になったかを調べれば、問題が見つかるでしょう。これは、独自のサーバー ネットワーク構造にも関係します。まず、PHP マニュアルの「定義済み変数」セクションでこれらの環境変数の意味を理解する必要があります。たとえ他の人がそれを解決したとしても、あなたにとっては盲点になってしまうので、このようなコードをそのまま放り出すべきではありません。
そうですね、Web ページが静的だったので問題は解決しましたが、動的に変更したところ、テストは成功しました。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。
