質問編集履歴
2
一部コード追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
特殊文字エスケープ、https化、空でデータベースに接続しない、空入力はエラー表示、sqlインジェクション対策、<input> タグのaccept="audio/mpeg"属性指定、はやってみたのですが他にも気をつけるべき点が知りたいです。
|
13
|
+
特殊文字エスケープ、https化、空でデータベースに接続しない、空入力はエラー表示、sqlインジェクション対策、<input> タグのaccept="audio/mpeg"属性指定、CSRF対策はやってみたのですが他にも気をつけるべき点が知りたいです。
|
14
14
|
|
15
15
|
|
16
16
|
|
@@ -26,6 +26,12 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
+
//今回はセッションをセキュリティ対策で使用する
|
30
|
+
|
31
|
+
session_start();
|
32
|
+
|
33
|
+
|
34
|
+
|
29
35
|
// 投稿画面
|
30
36
|
|
31
37
|
|
@@ -70,7 +76,13 @@
|
|
70
76
|
|
71
77
|
$audio = "";
|
72
78
|
|
73
|
-
|
79
|
+
$token = "";
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
// token使って重複防止(CSRF対策)
|
84
|
+
|
85
|
+
$token = (string)filter_input(INPUT_POST, 'token');
|
74
86
|
|
75
87
|
|
76
88
|
|
@@ -156,6 +168,14 @@
|
|
156
168
|
|
157
169
|
|
158
170
|
|
171
|
+
if($token === ""){
|
172
|
+
|
173
|
+
$errors['token'] = "もう一度やり直してください。";
|
174
|
+
|
175
|
+
}
|
176
|
+
|
177
|
+
|
178
|
+
|
159
179
|
}
|
160
180
|
|
161
181
|
|
@@ -220,7 +240,7 @@
|
|
220
240
|
|
221
241
|
<head>
|
222
242
|
|
223
|
-
<title>
|
243
|
+
<title>投稿画面</title>
|
224
244
|
|
225
245
|
</head>
|
226
246
|
|
@@ -250,8 +270,6 @@
|
|
250
270
|
|
251
271
|
|
252
272
|
|
253
|
-
|
254
|
-
|
255
273
|
<p>タイトル<br></p>
|
256
274
|
|
257
275
|
<input type="text" name="title">
|
@@ -260,8 +278,6 @@
|
|
260
278
|
|
261
279
|
|
262
280
|
|
263
|
-
|
264
|
-
|
265
281
|
<p>本文<br></p>
|
266
282
|
|
267
283
|
<input type="text" name="body_text">
|
@@ -290,6 +306,14 @@
|
|
290
306
|
|
291
307
|
<input type="submit" name = "submit" value="確認">
|
292
308
|
|
309
|
+
|
310
|
+
|
311
|
+
<!--$tokenを使って重複を防止するタグを埋め込む-->
|
312
|
+
|
313
|
+
<input type="hidden" name="token" value="<?=h(sha1(session_id()))?>">
|
314
|
+
|
315
|
+
|
316
|
+
|
293
317
|
</form>
|
294
318
|
|
295
319
|
|
1
一部追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -246,7 +246,9 @@
|
|
246
246
|
|
247
247
|
|
248
248
|
|
249
|
-
<form action = "" method = "POST">
|
249
|
+
<form action = "" method = "POST" enctype="multipart/form-data">
|
250
|
+
|
251
|
+
|
250
252
|
|
251
253
|
|
252
254
|
|