Skip to content

Commit 472c02a

Browse files
committed
投稿間隔制限を微調整。
1 parent 618435c commit 472c02a

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

petitnote/functions.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,14 @@ function check_aikotoba(): bool {
169169
function adminpost(): void {
170170
global $second_pass,$en;
171171

172-
//投稿間隔をチェック
173-
check_submission_interval();
174172
//Fetch API以外からのPOSTを拒否
175173
check_post_via_javascript();
176-
174+
177175
check_same_origin();
176+
177+
//投稿間隔をチェック
178+
check_submission_interval();
179+
178180
check_password_input_error_count();
179181
session_sta();
180182
if(!is_adminpass(filter_input_data('POST','adminpass'))){
@@ -195,12 +197,14 @@ function adminpost(): void {
195197
function admin_del(): void {
196198
global $second_pass,$en;
197199

198-
//投稿間隔をチェック
199-
check_submission_interval();
200200
//Fetch API以外からのPOSTを拒否
201201
check_post_via_javascript();
202-
202+
203203
check_same_origin();
204+
205+
//投稿間隔をチェック
206+
check_submission_interval();
207+
204208
check_password_input_error_count();
205209

206210
session_sta();
@@ -993,15 +997,15 @@ function set_form_display_time(): void {
993997
$_SESSION['form_display_time'] = time();
994998
}
995999
//投稿間隔をチェック
996-
function check_submission_interval(): void {
997-
global $en;
1000+
function check_submission_interval($min_interval=2): void {
1001+
// デフォルトで最低2秒の間隔を設ける
1002+
global $en;
9981003
session_sta();
9991004
if (!isset($_SESSION['form_display_time'])) {
10001005
error($en?"The post has been rejected.":'拒絶されました。');
10011006
}
10021007
$form_display_time = $_SESSION['form_display_time'];
10031008
$now = time();
1004-
$min_interval = 3; // 最低3秒は空ける
10051009

10061010
if (($now - $form_display_time) < $min_interval) {
10071011
set_form_display_time();

petitnote/index.php

Lines changed: 11 additions & 5 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.88.2';
4+
$petit_ver='v1.88.5';
55
$petit_lot='lot.20250525';
66

77
$lang = ($http_langs = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '')
@@ -239,8 +239,6 @@ function post(): void {
239239
global $allow_comments_only,$res_max_w,$res_max_h,$name_input_required,$max_com,$max_px,$sage_all,$en,$only_admin_can_reply;
240240
global $usercode,$use_url_input_field,$httpsonly;
241241

242-
//投稿間隔をチェック
243-
check_submission_interval();
244242
//Fetch API以外からのPOSTを拒否
245243
check_post_via_javascript();
246244

@@ -249,6 +247,9 @@ function post(): void {
249247
}
250248
check_csrf_token();
251249

250+
//投稿間隔をチェック
251+
check_submission_interval(3);//3秒間隔で投稿を制限
252+
252253
//POSTされた内容を取得
253254
$userip =t(get_uip());
254255
//ホスト取得
@@ -1077,6 +1078,10 @@ function paintcom(): void {
10771078
$adminpost = adminpost_valid();
10781079
$use_hide_painttime = $use_hide_painttime ?? false;
10791080
$use_hide_painttime = ($adminpost || $use_hide_painttime);
1081+
1082+
//フォームの表示時刻をセット
1083+
set_form_display_time();
1084+
10801085
$admin_pass= null;
10811086
// HTML出力
10821087
$templete='paint_com.html';
@@ -1855,12 +1860,13 @@ function edit_form($id='',$no=''): void {
18551860
function edit(): void {
18561861
global $name_input_required,$max_com,$en,$mark_sensitive_image,$use_url_input_field,$admin_pass;
18571862

1858-
//投稿間隔をチェック
1859-
check_submission_interval();
18601863
//Fetch API以外からのPOSTを拒否
18611864
check_post_via_javascript();
18621865
check_csrf_token();
18631866

1867+
//投稿間隔をチェック
1868+
check_submission_interval();
1869+
18641870
//POSTされた内容を取得
18651871
$userip =t(get_uip());
18661872
//ホスト取得

0 commit comments

Comments
 (0)