質問箱/4534

カテゴリ
サマリ編集時に送信されるメールのIP表示を変更
バージョン1.4.7
投稿者taro?
状態完了
投稿日2009-12-03 (木) 02:18:28

質問

編集された時にメールが来る設定にしています

REMOTE_ADDR: ***.***.***.***

とIPが表示されていますが、これをodnとかsoftbankとかのプロバイダIPで表示できないでしょうか?
荒らしとかのアクセス制限をする時に一時的にプロバイダごとにアクセス制限、または特定地域の制限などをしたいです
できればREMOTE_ADDR:の下の行辺りにこの要素を追加できればと

回答

  • 試したことはないですが、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;
    のあたりでしょうか。 -- 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']);
    無事に希望通りの動作になりました、ありがとうございます
    phpは詳しくないので、こんな適当にいじっただけで問題はおきないのでしょうか?こういった事は初めてなので少し不安です
    特に問題がないのでしたらこのまま完了にしたいとおもっています。 -- taro? 2009-12-03 (木) 05:06:41
  • 質問箱/2146 に似たような話が、「REMOTE_HOST($_SERVER['REMOTE_HOST'])が取れないサーバ設定であっても、gethostbyaddrでREMOTE_ADDR($_SERVER['REMOTE_ADDR'])から生成すれば良いでしょう」とありますね。(利用する変数名は、蛇足で補足しましたが) -- 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'] を設定してメール機能を呼び出されない限りは、これで大丈夫だと思う。(上書きしないように分岐を入れたから) -- 2009-12-03 (木) 16:45:43
  • 適用したところ希望した内容になりました
    IPと2つ表示されてわかりやすく、便利になっています
    お答えいただきありがとうございました -- taro? 2009-12-03 (木) 23:25:59

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-12-26 (土) 13:52:34
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.248 sec.

OSDN