PHP 統計画像の使用状況、バックリンクなど。
最近、私の Web サイト上の写真、リンク、その他のデータを誰が使用したかについて統計を作成したいと考えました。
画像の統計はおそらく次のようになります。
/var/www/html/1.jpg
/var/www/html/tracker.php
/var/www/html/.htacess
RewriteBase /
RewriteRule ^(.*).jpg$ tracker.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{ REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
header('Content-type:image/jpeg') ;
readfile($_GET['id'].'.jpg');
//file_put_contents('log.txt',$_GET['id'].' '.$_SERVER['REMOTE_ADDR' ].' '.var_dump(apache_request_headers()));
?>
上記のコードは、画像が開かれた回数、訪問者の IP アドレス、ブラウザー、その他のデータをカウントできます。しかし、バックリンクをカウントするにはどうすればよいでしょうか?例: 別の Web サイトがこの写真を使用しています では、私の写真を使用している Web サイトの数をどのように数えるのでしょうか? (単にブラウザを開くのではなく)
また、例えば、小さなプラグインを作成します。ユーザーがこのプラグインを Web サイトに埋め込むことを許可します > ; それでは、どの Web サイトがプラグインを使用しているかをカウントするには、script.php にどのようなコードを記述する必要があるでしょうか?
コードの書き方を知りたいだけですか?返されるデータとデータベースの関係は個別に設計できます。ありがとう。
-----解決策のアイデア----------------------
数を数える方法私の画像を使用しているウェブサイトはありますか? (単にブラウザで開くのではなく)
http リクエストがカウントされている限り、ブラウザで開かれたかどうかを知る必要はありません。
$_SERVER['HTTP_REFERER'] を tracker.php に追加すると、画像をリクエストしたページのアドレスであるソース アドレスを取得できます。
次に、通常のルールを使用して URL のドメインを取得し、データベースに保存します。統計は写真ごとに直接グループ化できます
テーブル構造
ID写真ドメイン
-----ソリューションアイデア------------- -- ------
コードでカウントできるのは動的リクエストのみであり、http://www.mydomain,com/1.jpeg などの静的 URL については何もできません
正解 最善のアプローチは次のとおりです。 Web サーバーのログ ファイルを分析する
-----解決策のアイデア----------------------
上記の内容が正しければ、すべての画像が動的 php を使用して表示されれば、プログラムは準備完了です。 $_SERVER['HTTP_REFERER'] を追加してソースを取得します。
Apacheのログを取得することで静的画像を解析できます。
------解決策----------------------
1. 静的ファイルは、 Web サーバーの読み取り、一方 php の動的読み取りでは、最初に php 解析プログラムを開始し、次に php プログラムで読み取る必要があります
どちらが足の指を使ってより効率的であるかがわかります
2. ログ ファイルは増加するだけで、増加しません。減少し、既存のコンテンツは変更されません。したがって、前回読んだ場所を思い出して、今回も読み続けるだけで済みます
-----解決策のアイデア-------------- --- -----
静的ははるかに高速ですが、
php の読み取りは遅くなります。
静的を使用するのが最善です。
------ソリューションのアイデア----------------------
すべての仮想ホストのログ ストレージのパスではありません自分で変更できます。
つまり、あなたが開発したプロジェクトは、クラウド サーバーのウェブマスターのみが使用できるということです。もちろん、誰が画像を使用するかは重要ではないと考えていますよね。
中国のインターネットはオープンであり、これらのことを気にする人は多くはありません。共有の精神があるはずです。
ある日、写真がたくさん使われていることに気づきました。次に、アクセスした画像参照をロゴやその他の慎重に作成された広告画像に変換するための疑似静的コードのみが必要です。
多くの画像に「この画像は XXX サイトからのものです。どうぞ」と表示されることに気づいたことがありますか。 「*** アクセスを入力してください」、これらはすべて擬似静的であり、1 つの文で実行できます。誰かがウェブサイトの画像を引用している限り、その画像は擬似的に静的に設定された別の画像になります。
-----解決策のアイデア----------------------
のみ知っているnginx サーバーはリファラーのアンチホットリンク保護を使用して構成でき、ログをカスタマイズしてリファラーを書き込むことができます
Apache にもそれが必要です
ログを分析するために PHP が必要な場合は、ログを定期的に SQL にインポートしてからログをクリアしてみてはいかがでしょうか?
------解決策のアイデア----------------------
ログファイルを使用して画像を分析する場合使い方 先ほどグループリーダーがおっしゃったように、ログファイルは増えているだけで、分析しても正確性は把握しにくいと思います。
------解決策----------------------
Apache のバージョンに関係している可能性がありますhttp://apache.chinahtml.com/logs.html
ログ ファイルの読み取りについて、私の意味が理解できないようです
ログ ファイルは可変長の記録ファイルです。インデックスがなければ、指定した行を見つけることはできません
ただし、インデックス ファイルを自分で作成する必要はありません。結局のところ、ログはすべて「古いニュース」なので、一度読んでしまうと必要ありません。
ファイル関数セットには以下が含まれます:
ftell - - ファイル ポインタの読み取り/書き込み位置を返します。
fseek -- ファイル ポインタ内の位置
だけが必要です。 ftell を使用して、各 fget の後にオフセット位置を読み取り、次回のために
を保存します。 読み取り時に、最後に保存されたオフセット位置を取得し、fseek を使用して
の位置を設定し、
の読み取りを続行します。 fgets は一度に 1 行ずつ非効率的であることは間違いありませんが、fread を一度に 1 つの大きなブロックとして使用する場合、最後の半分の行を処理するのは簡単ではありません

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

ホットトピック









