Skip to content

Commit 43c8d45

Browse files
committed
禁止ホストからのアクセスがあった時は、SESSIONにキャッシュする設定項目を追加。
1 parent 5832f27 commit 43c8d45

3 files changed

Lines changed: 20 additions & 5 deletions

File tree

petitnote/config.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,15 @@
138138

139139
// ※逆引きできないIPアドレスの利用者も多いため、true にすると一部の正当なユーザーが投稿できなくなる可能性があります。
140140

141+
//禁止ホストからのアクセスがあった時は、SESSIONにキャッシュする
142+
// する: true しない: false
143+
144+
// $use_badhost_session_cache = true;
145+
$use_badhost_session_cache = false;
146+
147+
// ※禁止ホスト判定をセッションに保存します。
148+
// 禁止ホスト判定されるとブラウザを再起動するまで解除されません。
149+
141150
/*使用目的別設定*/
142151

143152
// ホームページへ戻るリンクを上段のメニューに表示する

petitnote/functions.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,10 +1152,17 @@ function is_ngword ($ngwords, $strs): bool {
11521152

11531153
/* 禁止ホストチェック */
11541154
function is_badhost(): bool {
1155-
global $badhost,$reject_if_no_reverse_dns;
1155+
global $badhost,$reject_if_no_reverse_dns,$use_badhost_session_cache;
1156+
1157+
//ホスト名が逆引きできないIPアドレスからの投稿を拒絶する
1158+
$reject_if_no_reverse_dns = $reject_if_no_reverse_dns ?? false;
1159+
1160+
//禁止ホストからのアクセスがあった時は、SESSIONにキャッシュする
1161+
$use_badhost_session_cache = $use_badhost_session_cache ?? false;
1162+
11561163
session_sta();
11571164
$session_is_badhost = $_SESSION['is_badhost'] ?? false; //SESSIONに保存された値を取得
1158-
if($session_is_badhost){//セッションに保存されている場合はチェックしない
1165+
if($use_badhost_session_cache && $session_is_badhost){//禁止ホストフラグがSESSIONに保存されてたら拒絶
11591166
return true;
11601167
}
11611168
//ホスト取得
@@ -1168,7 +1175,7 @@ function is_badhost(): bool {
11681175
return true; //リバースDNSがない場合は拒絶
11691176
}
11701177
foreach($badhost as $value){
1171-
if (preg_match("/\A$value/i",$host)) {//前方一致
1178+
if (preg_match("/\A$value/i",$host)) {//前方一致
11721179
$_SESSION['is_badhost'] = true;
11731180
return true;
11741181
}

petitnote/index.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
//Petit Note (c)さとぴあ @satopian 2021-2025
33
//1スレッド1ログファイル形式のスレッド式画像掲示板
4-
$petit_ver='v1.89.2';
4+
$petit_ver='v1.89.3';
55
$petit_lot='lot.20250602';
66

77
$lang = ($http_langs = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '')
@@ -116,7 +116,6 @@
116116
$darkmode_by_default = $darkmode_by_default ?? false;
117117
$sitename = $sitename ?? '';
118118
$fetch_articles_to_skip = $fetch_articles_to_skip ?? true;
119-
$reject_if_no_reverse_dns = $reject_if_no_reverse_dns ?? false;
120119
$mode = (string)filter_input_data('POST','mode');
121120
$mode = $mode ? $mode :(string)filter_input_data('GET','mode');
122121
$resno=(int)filter_input_data('GET','resno',FILTER_VALIDATE_INT);

0 commit comments

Comments
 (0)