サポート

ホスト名取得について

thalassa (2015/06/23 14:02)

設置URL : http://www.example.jp

設置先は二次創作系ブログのためアドレスを変更しました。

ホスト名取得プラグインを拍手送信プラグインに加えて導入したいのですが、gethostbyaddrを入れる場所が分かりません。$ipが付いているファイルやテンプレートのフッターに入れてみましたが、エラーかホスト名が空白となりました。

ネットで検索もしましたが芳しい結果は出ませんでした。今も分からずじまいです。

使用中の方もしくはご存じの方がいらっしゃいましたら、アドバイスを頂戴できると幸いです。
よろしくお願いいたします。

ccc (2015/06/23 18:38)

URL : http://cccabinet.jpn.org/

ホスト名取得プラグインを拍手送信プラグインに加えて導入したい...

拍手管理画面の一覧に表示したい場合は、
freoまとめwikiの「データ管理関連」の中にあるホスト名取得プラグインの部分に【拍手管理で使用する場合】の方法が記載されているので、そちらを参考にして下さい。
http://freo.wiki.fc2.com/wiki/%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2%EF%BC%88admin%EF%BC%89%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E7%99%BB%E9%8C%B2%E9%96%A2%E9%80%A3#h23d1345

thalassa (2015/06/23 21:38)

ccc様

アドバイスありがとうございます。
……申し上げにくいのですが、その手法は既に行っておりまして……。
それでも拍手送信と拍手メール通知両プラグインに反映されないので、困っている次第です。

ccc (2015/06/23 22:09)

URL : http://cccabinet.jpn.org/

どうも失礼しました。

拍手送信と拍手メール通知両プラグインに反映されない...

ひょっとして、拍手メッセージ登録メールで「IPアドレス」を「ホスト名」にしたいってことでしょうか?
それなら恐らくlibs/freo/plugins/end.clap_inform.phpの61行目にある

$message .= 'IPアドレス:' . $clap['ip'] . "\n";

を弄るのだと思うですが、ちょっと当方では方法が思いつきませんm(__)m

それとも別のことなのでしょうか?
具体的にどうしたいのかいまいちよく状況がわかりません。
と言っても教えて頂いた内容にお答えできる自信もありませんので、あらかじめご了承下さい。

thalassa (2015/06/24 08:38)

ccc様

分かりづらい文章で申し訳ありません。
やりたい事は「拍手管理画面の一覧と拍手メール通知に記される『IPアドレス』をホストに変換したい」です。
私も拍手メール通知の方はlibs/freo/plugins/end.clap_inform.phpと当たりをつけ、弄っているのですがなかなか結果が出ません。
難しい場合は気長に続けます。

WDPだとホスト名で表示されるので、freoでも同様にしたかったのですが……。

ミツ (2015/06/26 14:52)

URL : http://32877.xii.jp

こんにちは。

拍手送信プラグインは、送信者のIPアドレスを自動的に取得するようになっていますが、これをIPアドレスではなくホストに変更することができます。

・これまで送信されたIPアドレスはIPアドレスのままです。
・IPアドレスがホストに変更になるものであり、IPアドレスとホストの両方を取得するわけではありません。

上記対応でよろしければ、下記のとおり試してみてください。

【準備(MYSQLを使用している場合)】

1)管理画面→エクスポートプラグインでfreo_plugins_clapsをエクスポート
2)保存した.dbを開き、6行目を下記の通り変更する

CREATE TABLE freo_plugin_claps(id INT UNSIGNED NOT NULL AUTO_INCREMENT, created DATETIME NOT NULL, modified DATETIME NOT NULL, session VARCHAR(40) NOT NULL, title VARCHAR(255), ip VARCHAR(255) NOT NULL, text TEXT, PRIMARY KEY(id));

3)上書きして保存する
4)管理画面→インポートプラグインから(3)で上書きした.dbをインポートする。

ミツ (2015/06/26 14:56)

URL : http://32877.xii.jp

続きです。

【拍手送信プラグインを編集する】
1)[freo/libs/freo/plugins/page.clap.php]の124行目を下記の通り変更する。

			'plugin_claps'       => '(id INT UNSIGNED NOT NULL AUTO_INCREMENT, created DATETIME NOT NULL, modified DATETIME NOT NULL, session VARCHAR(40) NOT NULL, title VARCHAR(255), ip VARCHAR(255) NOT NULL, text TEXT, PRIMARY KEY(id))',

2)[freo/libs/freo/plugins/page.clap.php]の808行目を下記の通り変更する。

		$stmt->bindValue(':ip',      $_SERVER['REMOTE_HOST']);

3)[freo/libs/freo/plugins/page.clap.php]をアップデートする。

以上です。

上記でIPの保存からホストに変更されていると思います。
お試しいただきご確認ください。

ミツ (2015/06/26 15:48)

URL : http://32877.xii.jp

他の案も思いついたのでついでにお知らせいたします。

・plugins_clapsテーブルにはIPアドレスを保存する(拍手プラグインは変更しない)
・拍手送信通知メールにのみIPアドレスに対応づけられたホスト名を取得して表示する(拍手管理画面には表示・保存はされない)

上記でよろしければ、下記の通り変更してみてください。

【拍手メール通知プラグインを変更する】
1)[freo/libs/freo/plugins/end.clap_inform.php]の45行目に下記のように挿入する。

	//IPアドレスホスト変換
	$ip   = $clap['ip'];
	$host = gethostbyaddr($ip);

2)[freo/libs/freo/plugins/end.clap_inform.php]の61行目

$message .= 'IPアドレス:' . $clap['ip'] . "\n";

を下記の通り変更する。

	$message .= 'IPアドレス:' . $host . "\n";

3)[freo/libs/freo/plugins/end.clap_inform.php]をアップデートする。

以上です。

thalassa (2015/07/06 22:55)

※設置先は二次創作系ブログのためご勘弁ください。

ミツ様

色々とアドバイスを賜り感謝申し上げます。
(おそらくMySQL仕様ではないと思いますが、念のため)1番目の方法の準備を行ったところ「near "AUTO_INCREMENT": syntax error」と出てしまいました。
準備なしで〔freo/libs/freo/plugins/page.clap.php〕をアップロードしたら「freo_plugin_claps.ip may not be NULL」と出たので断念。

2番目の方法で〔freo/libs/freo/plugins/end.clap_inform.php〕をアップロードしましたら、IPアドレスがホストに変換され無事反映されました。

あちこちいじって試してはいたのですが、正直なところ途方に暮れていたので本当に助かりました。
改めまして感謝申し上げます。
ありがとうございました。

返信

  • この記事に返信します。
  • 返信の際は、設置URL以外の項目は入力必須です。
投稿フォーム
名前
設置URL
本文(本文の装飾について
編集キー(投稿した記事を編集する際に使用します。)
投稿キー(スパム対策に、投稿キー を半角で入力してください。)