質問編集履歴

1

誤記修正

2021/09/26 00:44

投稿

jiyo-ta
jiyo-ta

スコア13

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  【ソース】
56
56
 
57
- ※一部簡素化しています
57
+ ※一部簡素化しています。入力チェックは別途実装しておりますがここでは割愛します。
58
58
 
59
59
  ●/contact/index.php
60
60
 
@@ -262,6 +262,38 @@
262
262
 
263
263
  <?php
264
264
 
265
+ //CSRF トークンを比較し、一致しなければエラー出力
266
+
267
+ // セッションスタート
268
+
269
+ session_start();
270
+
271
+ // POSTデータのトークンを確認
272
+
273
+ if(isset($_POST['token'])){$post_token = $_POST['token'];}
274
+
275
+ else{$post_token = 'err123';}
276
+
277
+
278
+
279
+ // SESSIONデータのトークンを確認
280
+
281
+ if(isset($_SESSION['token'])){$session_token = $_SESSION['token'];}
282
+
283
+ else{$session_token='err456';}
284
+
285
+
286
+
287
+ // トークンを比較し、一致しなければエラー出力
288
+
289
+ if($post_token != $session_token || $_SERVER['REQUEST_METHOD']!='POST'){
290
+
291
+ echo 'エラー:ページ遷移が正しくありません';exit(); }
292
+
293
+ ?>
294
+
295
+ <?php
296
+
265
297
  require_once('../../wp-load.php');
266
298
 
267
299
  include("../../wp-content/themes/my-wp/header.php");