web-dev-qa-db-ja.com

写真共有ウェブサイトのピンバック/トラックバックのサポート?

写真が他のブログに投稿された(またはツイートなどで言及された)場所のURLを収集する、flickrやpicasaなどの写真共有サービスはありますか?

これは、各写真をwordpressを使用してブログエントリとして投稿することで実現できます。これにより、ピンバックが自動的に処理されますが、もちろんブログは適切な写真サービスとはまったく異なります。

おそらく、これはzenphotoのようなプライベート写真ホスティングサーバーでphpを編集することで実行できますが、それはかなり複雑に思えます。

そのようなサービスはすでに存在しますか?

4
cboettig

写真共有サービスについてはわかりませんが、PHPを使用して画像が埋め込まれている場所を追跡する方法については考えています。あなたが何をしているのかを知っていれば、おそらく何らかの形でこれをWordPressに組み込むこともできます。これでうまくいくと思う。

.htaccessファイルに次のようなルールを追加します。

RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?yourdomain\.com [NC]
RewriteCond %{QUERY_STRING} !^pass=1$ [NC]
RewriteRule ^(.*)\.(gif|jpe?g|png|bmp|swf)$ /hotlink.php?url=$1.$2 [R,NC,L]

これにより、ドメインからのものではないサイト上の画像に対するすべてのリクエストが、「url」変数に含まれるアクセスしている画像のアドレスを持つhotlink.phpというファイルに再書き込みされます。

これで、hotlink.phpファイルで、必要な処理を行うことができます。リファラーをログに記録して、画像を他のサイトに埋め込むことができます。これにより、画像を他のサイトに埋め込むことができます。特定のサイトは画像の使用をブロックできますが、他のサイトは画像の使用をブロックできます。

そのため、参照URLを追跡するだけであれば、hotlink.phpファイルに次のようなものを入れて、すべての画像リクエストをリダイレクトします(テストなし)。

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("link_track") or die(mysql_error());

$query = "INSERT INTO image_tracking (img_url, date, referrer) VALUES('".$_GET["url"]."', '".date(DATE_RFC822)."', '".$_SERVER['HTTP_REFERER']."' ) ";
mysql_query($query);  

header("Location: ".$url."?pass=1");
?>

これは、アクセスされている画像のURLを取得し、日付と参照URLと共にMySqlデータベースに記録します。その後、リクエストされた画像を提供して、画像を埋め込む人が違いに気付かないようにします。データベース内の情報を使用して、カスタムphpページ、phpMyAdminなど、または現在使用しているブログソフトウェアの管理領域にページを追加することで、必要な情報にアクセスできます。

3
Sherwin Flight