soma0822 / webserv

2 stars 1 forks source link

322 session #370

Closed kaaaaakun closed 7 months ago

kaaaaakun commented 7 months ago

1. issue number

322

2. やったこと

www/html/root.py/cgi-bin/time.py www/html/root.py/cgi-bin/time.css

www/html/index.html www/html/styles.css

www/html/root.py/cgi-bin/cookie_test.py

www/html/root.py/cgi-bin/session_test.py www/html/root.py/cgi-bin/session_dir/session.db

3. やらないこと

4. 動作確認

  1. http://localhost:8002/cgi-bin/session_test.py にアクセス
  2. 名前とキーワードを登録
  3. cookieの確認を押す
  4. cookieの削除を押してみる。
  5. それぞれ、文字が表示されたり、削除されたりするのを確認する
  6. 名前をキーワードを登録する
  7. 他のブラウザ、またはシークレットブラウザから、http://localhost:8002/cgi-bin/session_test.py にアクセス
  8. 名前を入力して確認のところに、さっきの「名前」を入力する
  9. 別ブラウザの名前をキーワードが表示されることを確認する。
  10. これで、クッキーができていることとセッションができていることが分かるはず

5. 懸念点

6. 最近楽しかったこと

7. その他

tkuramot commented 7 months ago

動作はすごいよさそうです!

kaaaaakun commented 7 months ago

pipで必要なモジュール入れたのにmodule not foundで怒られちゃいました。execveでCGIを実行するときに、CGIで必要な環境変数に加えてenvironにあるやつも追加したら動きます

それせずに動きました?

あとexecveのときにenviron(多分禁止されてない)の中身渡すようにしますか?

自分はそのままできたんですよね… environの話ってmainの第三引数をexecveにも渡すということですか?

kaaaaakun commented 7 months ago

一旦ドラフトにして、諸々直します〜!

tkuramot commented 7 months ago

自分はそのままできたんですよね… environの話ってmainの第三引数をexecveにも渡すということですか?

自分がCGIを動かすためにやったのはグローバルのenvironをCGIの環境変数に加えてexecveに渡すということです

提案の内容もグローバルのenvironを使うことです 仮にenvironが使えないのであれば、mainの引数をグローバルの変数に代入してenvironと同様に扱ってもいいと思います

soma0822 commented 7 months ago

pipで必要なモジュール入れたのにmodule not foundで怒られちゃいました。execveでCGIを実行するときに、CGIで必要な環境変数に加えてenvironにあるやつも追加したら動きます それせずに動きました? あとexecveのときにenviron(多分禁止されてない)の中身渡すようにしますか?

自分はそのままできたんですよね… environの話ってmainの第三引数をexecveにも渡すということですか?

僕もできなかったです😭

kaaaaakun commented 7 months ago

自分はそのままできたんですよね… environの話ってmainの第三引数をexecveにも渡すということですか?

自分がCGIを動かすためにやったのはグローバルのenvironをCGIの環境変数に加えてexecveに渡すということです

提案の内容もグローバルのenvironを使うことです 仮にenvironが使えないのであれば、mainの引数をグローバルの変数に代入してenvironと同様に扱ってもいいと思います

確かに、extern char **environ;使えばよかったですね。 忘れてました。 そこも含めて実装する方向でやってみます。

kaaaaakun commented 7 months ago

追加でこの辺やりました。

kaaaaakun commented 7 months ago

python3.9python3に直したら動きます!

この辺りは環境によって違うと思うし、現状維持して提出前にか確認する形にしますか? それともテストに支障あるので、全員に共通するのにしときますか? あとはdocker上で実行する方法も一応あるのかな

自分の環境のpython3がpython3.12使ってるのが原因ぽかったです… python3がpython3.9になるようにシンボリックリンク繋ぎ直したら解決しましたー お騒がせしますた。(・ε・` ) 一応、これで全員実行出来るようにはなってると思う。

docker上でやるのが確実ではあるけど、重要度はそこまで高くない?