質問編集履歴
1
修正依頼者への対応
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
|
+
```
|