**[[質問箱4/534]] [#cf557435]
#author("2018-03-11T20:53:12+09:00;2009-12-26T13:52:34+09:00","","")
**[[質問箱/4534]] [#cf557435]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|編集時に送信されるメールのIP表示を変更|
|~バージョン|1.4.7|
|~投稿者|[[taro]]|
|~状態|完了|
|~投稿日|&new{2009-12-03 (木) 02:18:28};|
***質問 [#e9f5406e]
編集された時にメールが来る設定にしています
 REMOTE_ADDR: ***.***.***.***
とIPが表示されていますが、これをodnとかsoftbankとかのプロバイダIPで表示できないでしょうか?&br;
荒らしとかのアクセス制限をする時に一時的にプロバイダごとにアクセス制限、または特定地域の制限などをしたいです&br;
できればREMOTE_ADDR:の下の行辺りにこの要素を追加できればと

***回答 [#t95eaab4]
- 試したことはないですが、[[gethostbyaddr()>PHP関数:gethostbyaddr]] のような関数を使えばできるかもしれません。改造するなら、lib/mail.php の
 	// Subject:
 	if (isset($footer['PAGE'])) $subject = str_replace('$page', $footer['PAGE'], $subject);
 
 	// Footer
 	if (isset($footer['REMOTE_ADDR'])) $footer['REMOTE_ADDR'] = & $_SERVER['REMOTE_ADDR'];
 	if (isset($footer['USER_AGENT']))
 		$footer['USER_AGENT']  = '(' . UA_PROFILE . ') ' . UA_NAME . '/' . UA_VERS;
のあたりでしょうか。 --  &new{2009-12-03 (木) 03:39:51};
-下記の様に試してみました
 -if (isset($footer['REMOTE_ADDR'])) $footer['REMOTE_ADDR'] = & $_SERVER['REMOTE_ADDR'];
 +if (isset($footer['REMOTE_ADDR'])) $footer['REMOTE_ADDR'] = & gethostbyaddr($_SERVER['REMOTE_ADDR']);
無事に希望通りの動作になりました、ありがとうございます&br;
phpは詳しくないので、こんな適当にいじっただけで問題はおきないのでしょうか?こういった事は初めてなので少し不安です&br;
特に問題がないのでしたらこのまま完了にしたいとおもっています。 -- [[taro]] &new{2009-12-03 (木) 05:06:41};
- [[続・質問箱/146]] に似たような話が、「REMOTE_HOST($_SERVER['REMOTE_HOST'])が取れないサーバ設定であっても、gethostbyaddrでREMOTE_ADDR($_SERVER['REMOTE_ADDR'])から生成すれば良いでしょう」とありますね。(利用する変数名は、蛇足で補足しましたが) --  &new{2009-12-03 (木) 16:21:20};
- [[質問箱/2146]] に似たような話が、「REMOTE_HOST($_SERVER['REMOTE_HOST'])が取れないサーバ設定であっても、gethostbyaddrでREMOTE_ADDR($_SERVER['REMOTE_ADDR'])から生成すれば良いでしょう」とありますね。(利用する変数名は、蛇足で補足しましたが) --  &new{2009-12-03 (木) 16:21:20};
-- ip とホスト名を同時に表示なら
 	// Footer
  	if (isset($footer['REMOTE_ADDR'])) $footer['REMOTE_ADDR'] = & $_SERVER['REMOTE_ADDR'];
 +	if (isset($footer['REMOTE_ADDR']) && ! isset($footer['REMOTE_HOST'])) {
 +		$footer['REMOTE_HOST'] = gethostbyaddr($_SERVER['REMOTE_ADDR']);
 +	}
  	if (isset($footer['USER_AGENT']))
  		$footer['USER_AGENT']  = '(' . UA_PROFILE . ') ' . UA_NAME . '/' . UA_VERS;
というかんじになるのかな。$footer['REMOTE_HOST'] を設定してメール機能を呼び出されない限りは、これで大丈夫だと思う。(上書きしないように分岐を入れたから) --  &new{2009-12-03 (木) 16:45:43};
- 適用したところ希望した内容になりました&br;IPと2つ表示されてわかりやすく、便利になっています&br;お答えいただきありがとうございました -- [[taro]] &new{2009-12-03 (木) 23:25:59};

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.018 sec.

OSDN