Cookieless Sessions

提供:MoodleDocs
2009年10月9日 (金) 16:47時点におけるToshiharu II (トーク | 投稿記録)による版
移動先:案内検索

Moodle 1.6


Moodle 1.6への我々のMoodleにcookielessセッションのサポートを追加しました。このコードは、サイトのすべての分野で作品を確認するために別々のモジュールのテストが必要になります。お使いのブラウザでクッキーをオフにするかCookieを禁止あなたのMoodleサイトのためだけにしてテストすることができます。ポストすべてのバグをここで見つける : http://tracker.moodle.org/browse/MDL-4504

またはhtmlページのフォームの中に隠しフォームフィールドにこれが、phpセッションを追跡することができますセッションのすべてのURLにIDを付加することによってCookieなしのセッションで動作します。時cookielessセッションをして上のlibのコードになっている/ cookieless.phpは自動的にクッキーがない場合に、セッションIDを追加します。コードは、JavaScriptのページからページへジャンプするために使用すると失敗します。ですから、新しいページをへジャンプする場合はlibの関数を呼び出すことができます/ cookieless.php URLにセッションIDを追加するには、次のようにjavascriptを利用:

   if (!empty($CFG->usesid) && !isset($_COOKIE[session_name()])) {
       $attempturl=sid_process_url("attempt.php?id=$cm->id");
   } else {
       $attempturl="attempt.php?id=$cm->id";
   };

You don't need to include cookieless.php it will have been included already if needed.


Enable cookieless sessions by including $CFG->usesid=true; in config.php. Based on code from php manual by Richard at postamble.co.uk

Attempts to use cookies if cookies not present then uses session ids attached to all urls and forms to pass session id from page to page. If site is open to google, google is given guest access as usual and there are no sessions. No session ids will be attached to urls for googlebot. This doesn't require trans_sid to be turned on but this is recommended for better performance you should put session.use_trans_sid = 1 in your php.ini file and make sure that you don't have a line like this in your php.ini: session.use_only_cookies = 1

author Richard at postamble.co.uk and Jamie Pratt license http://www.gnu.org/copyleft/gpl.html GNU Public License