#author("2020-08-05T18:05:21+09:00","","") #author("2020-08-06T16:20:16+09:00","","") ** iplog.php [#o5d53333] |RIGHT:100|LEFT:360|c |~サマリ|コメントをした人のIPアドレスを記録する| |~リビジョン|1.0| |~対応バージョン|1.5.x| |~投稿者|[[K]]| |~投稿日|&new{2020-08-05 (水) 18:05:21};| **概要 [#c740619d] コメントなどをした人のIPアドレスを記録できるプラグイン。 1.5.3のみ確認済み。 **ソース [#b4809a2a] -"plugin/iplog.php"に保存する。 <?php define("ipLogFile",date("Y-m-d").".txt");//ファイル名 function addLog($data,$name){ if (file_exists('./iplog/.htaccess')) { }else{ $open_ht = fopen("./iplog/.htaccess", a); @fwrite($open_ht, "Require all denied"); fclose($open_ht); } $open_iplog = fopen("./iplog/".ipLogFile, a); @fwrite($open_iplog, "\n================\n".$name.':'.$data.'\nIPアドレス:'.get_ip_address().'\n日付:'.date("Y/m/d H:i:s")."\n================"); fclose($open_iplog); } function get_ip_address() { foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key){ if (array_key_exists($key, $_SERVER) === true){ foreach (explode(',', $_SERVER[$key]) as $ip){ $ip = trim($ip); if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false){ return $ip; } } } } } ?> **使い方 [#ce09a85a] ***コメント(comment) [#ze7d8743] コメントの投稿者のIPアドレスを記録したい場合は「plugin/comment.inc.php」の"}"と"page_write($vars['refer'], $postdata);"の間に require "iplog.php"; addLog($comment,'コメント'); を追加してください。 ***Pコメント(pcomment) [#o74ff2ec] コメントの投稿者のIPアドレスを記録したい場合は「plugin/pcomment.inc.php」の"}"と"$reply_hash = isset($vars['reply']) ? $vars['reply'] : '';"の間に require "iplog.php"; addLog($msg,'Pコメント'); を追加してください。 ***記事(article) [#w7a4330f] 記事の投稿者のIPアドレスを記録したい場合は「plugin/article.inc.php」の"$article_no = 0;"と"foreach($postdata_old as $line) {"の間に require "iplog.php"; addLog($article,'記事'); を追加してください。 ***ログ [#q23e7188] ログはコメントされたときに自動生成されます。"/iplog/(日付).txt"で入ってます。 **ライセンス [#v1d7f1d9] GPL