質問編集履歴

1

修正依頼者への対応

2020/06/07 11:05

投稿

Noisman
Noisman

スコア14

test CHANGED
File without changes
test CHANGED
@@ -193,3 +193,115 @@
193
193
 
194
194
 
195
195
  以上です。原因の究明に少し行き詰まってしまったので、悪さをしていそうな部分や他に試した方がいいことなどありましたら是非ご教授ください。よろしくお願いします。
196
+
197
+
198
+
199
+
200
+
201
+ ## 追記
202
+
203
+ 上に記載されている```login_form.py```も表示できていますが、他には```index.py```も表示されるので、こちらを追記しておきます。
204
+
205
+
206
+
207
+ ```python
208
+
209
+ #!/usr/bin/env python3
210
+
211
+ #encoding:UTF-8
212
+
213
+
214
+
215
+ def check_cookie(cookie):
216
+
217
+ if 'user' in cookie:
218
+
219
+ str = '''
220
+
221
+ <h2>Welcome {0}!</h2>
222
+
223
+ <a href='./hogehoge.py'>hogehoge</a>
224
+
225
+ '''.format(cookie['user'].value)
226
+
227
+ else:
228
+
229
+ str = '''
230
+
231
+ <a href='./login_form.py'>Sign In!</a>
232
+
233
+ <a href='./create_account.py'>Sign Up!</a>
234
+
235
+ '''
236
+
237
+ return str
238
+
239
+
240
+
241
+
242
+
243
+ import cgi
244
+
245
+ import cgitb
246
+
247
+ import textwrap
248
+
249
+ from http import cookies
250
+
251
+ import os
252
+
253
+ import io,sys
254
+
255
+ # UnicodeEncodeErrorを防ぐ
256
+
257
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
258
+
259
+ # クッキーの取得
260
+
261
+ cookie = cookies.SimpleCookie(os.environ.get("HTTP_COOKIE",""))
262
+
263
+
264
+
265
+ cgitb.enable()
266
+
267
+ # クッキーが生成されていたらuserとして遷移先のページでもクッキーを渡し続ける処理
268
+
269
+ if 'user' in cookie:
270
+
271
+ user = cookie['user'].value
272
+
273
+ print("Set-Cookie: user="+ user)
274
+
275
+ print("Content-Type: text/html; charset=UTF-8\n\n")
276
+
277
+
278
+
279
+ html = '''
280
+
281
+ <!DOCTYPE html>
282
+
283
+ <html lang = "ja">
284
+
285
+ <head>
286
+
287
+ <title>hogehoge</title>
288
+
289
+ </head>
290
+
291
+ <body>
292
+
293
+ <h1>hoge</h1>
294
+
295
+ {get}
296
+
297
+ </body>
298
+
299
+ </html>
300
+
301
+ '''.format(get = check_cookie(cookie)).strip()
302
+
303
+
304
+
305
+ print(html)
306
+
307
+ ```