質問編集履歴

6

文法修正

2020/07/20 06:44

投稿

meli
meli

スコア312

test CHANGED
File without changes
test CHANGED
@@ -64,7 +64,27 @@
64
64
 
65
65
  ```input.php
66
66
 
67
+ // 規定の組み合わせからランダムな文字列を返却
68
+
69
+ function getRndStr() {
70
+
71
+ var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
72
+
73
+ var len = 8;
74
+
75
+ var ret = "";
76
+
77
+ for (var i = 0; i < len; i++) {
78
+
79
+ ret += str.charAt(Math.floor(Math.random() * str.length));
80
+
81
+ }
82
+
83
+ return ret;
84
+
85
+ }
86
+
67
- // submitボタン処理
87
+ // submitボタン処理
68
88
 
69
89
  function sendConfirm() {
70
90
 

5

追記

2020/07/20 06:44

投稿

meli
meli

スコア312

test CHANGED
File without changes
test CHANGED
@@ -34,6 +34,10 @@
34
34
 
35
35
 
36
36
 
37
+
38
+
39
+ メール送信判定:confirm.php
40
+
37
41
  ```confirm.php
38
42
 
39
43
  // メール取得済み&ここまででエラーがなければメール送信フラグ取得
@@ -53,6 +57,10 @@
53
57
 
54
58
 
55
59
 
60
+
61
+
62
+
63
+ 動的URL生成:input.php
56
64
 
57
65
  ```input.php
58
66
 

4

誤字

2020/07/20 06:43

投稿

meli
meli

スコア312

test CHANGED
File without changes
test CHANGED
@@ -32,9 +32,9 @@
32
32
 
33
33
 
34
34
 
35
- メール送信はここでconfirm.phpの下記で行っています。
36
35
 
36
+
37
- ```ここに言語を入力
37
+ ```confirm.php
38
38
 
39
39
  // メール取得済み&ここまででエラーがなければメール送信フラグ取得
40
40
 
@@ -52,9 +52,9 @@
52
52
 
53
53
 
54
54
 
55
- input.php
56
55
 
56
+
57
- ```ここに言語を入力
57
+ ```input.php
58
58
 
59
59
  // submitボタン処理
60
60
 

3

追記

2020/07/20 06:43

投稿

meli
meli

スコア312

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,36 @@
52
52
 
53
53
 
54
54
 
55
+ input.php
56
+
57
+ ```ここに言語を入力
58
+
59
+ // submitボタン処理
60
+
61
+ function sendConfirm() {
62
+
63
+ if (checkRequire() !== true) {
64
+
65
+ return false;
66
+
67
+ }
68
+
69
+
70
+
71
+ // 飛び先キャッシュ回避
72
+
73
+ document.main_form.action = "confirm.php?rand_str=" + getRndStr();
74
+
75
+
76
+
77
+ return true;
78
+
79
+ }
80
+
81
+ ```
82
+
83
+
84
+
55
85
 
56
86
 
57
87
 

2

情報追記

2020/07/20 06:42

投稿

meli
meli

スコア312

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
 
16
16
 
17
- confim.phpには末尾にランダムの数字を割り振っており、タブの複製やURLのコピーをしても入力情報は消える仕様としております。
17
+ confim.phpには末尾にランダムの数字を割り振っております。
18
+
19
+ SESSIONを使用し、ブラウザバックを禁止しております。
20
+
21
+ 検証端末では、タブの複製やURLのコピーをしても入力情報は消えます。
18
22
 
19
23
  例)https://www.XXX.com/confirm.php?rand_str=ABC123456
20
24
 
@@ -32,63 +36,17 @@
32
36
 
33
37
  ```ここに言語を入力
34
38
 
35
- // MIMEンコドしつつメール送信
39
+ // メール取得済み&ここまででがなければメール送信フラグ取得
36
40
 
37
- function send_mail($src_subject, $src_body, $from_name, $from_addr, $to_addr, $bcc_addr="")
41
+ // confirmページから下記Valueが渡されていたらメール送信処理へ進んでよい。
38
42
 
39
- {
43
+ if (empty($error_msg) && !empty($post_mail)) {
40
44
 
41
- // mb_language('ja');
45
+ if (!empty($_POST['HiddenMailSendOK']) && $_POST['HiddenMailSendOK'] === "mail_is_ok") {
42
46
 
43
- // mb_internal_encoding("ISO-2022-JP-MS"); // ここからISO-2022-JP-MS
44
-
45
- // $subject = mb_encode_mimeheader($src_subject, 'ISO-2022-JP-MS', 'UTF-8');
46
-
47
- // $body = mb_convert_encoding($src_body, 'ISO-2022-JP-MS', 'UTF-8');
48
-
49
- // $add_headers = "Content-Type: text/plain; charset=ISO-2022-JP"
50
-
51
- // . "\r\nFrom:\"" . mb_encode_mimeheader($from_name) . "\" <" . $from_addr . ">"
52
-
53
- // . "\r\nReply-To: " . $from_addr;
54
-
55
- // 2018/07/25 Mod 電話番号の「±」やnameの「ö」などが文字化けするので対策
56
-
57
- // bodyToAdminやbodyToUserでJIS変換せずmail関数に渡すこと。
58
-
59
-
60
-
61
- mb_language('ja');
62
-
63
- mb_internal_encoding('UTF-8');
64
-
65
- $subject = mb_encode_mimeheader($src_subject, 'UTF-8', 'UTF-8');
66
-
67
- $body = $src_body;
47
+ $sendmail = 1;
68
-
69
- $add_headers = "Content-Type: text/plain; charset=UTF-8"
70
-
71
- . "\r\nFrom:\"" . mb_encode_mimeheader($from_name, 'UTF-8', 'UTF-8')
72
-
73
- . "\" <" . $from_addr . ">"
74
-
75
- . "\r\nReply-To: " . $from_addr;
76
-
77
-
78
-
79
- if (!empty($bcc_addr)) {
80
-
81
- $add_headers .= "\r\n" . 'Bcc: ' . $bcc_addr;
82
48
 
83
49
  }
84
-
85
-
86
-
87
- $ret = mail($to_addr, $subject, $body, $add_headers, "-f {$to_addr}");
88
-
89
- return $ret;
90
-
91
- }
92
50
 
93
51
  ```
94
52
 

1

修正

2020/07/20 06:37

投稿

meli
meli

スコア312

test CHANGED
@@ -1 +1 @@
1
- 二重sbmit対策していフォームでメールの二重送信が発生する
1
+ 動的に生成した数字埋め込んだURLは何度も開け
test CHANGED
File without changes