จะทำยังไงถึงจะปิด SID session phpBB ได้ค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

จะทำยังไงถึงจะปิด SID session phpBB ได้ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

จะทำยังไงถึงจะปิด SID session phpBB ได้ค่ะ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: จะทำยังไงถึงจะปิด SID session phpBB ได้ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ปัญหา SID session ของ phpBB ได้ค่าที่ url เปลี่ยนไปเรื่อยๆ เพื่อ setup cookies ผิด
บางครั้งจะมาจาก ใช้ cookies ร่วมกับ ระบบอื่น
วิธีแก้

โค้ด: เลือกทั้งหมด

UPDATE phpbb_config SET config_value = 'YOUR COOKIE DOMAIN' WHERE config_name = 'cookie_domain';
UPDATE phpbb_config SET config_value = 'YOUR COOKIE NAME' WHERE config_name = 'cookie_name';
UPDATE phpbb_config SET config_value = 'YOUR COOKIE PATH' WHERE config_name = 'cookie_path';
UPDATE phpbb_config SET config_value = '0' WHERE config_name = 'cookie_secure';
YOUR COOKIE DOMAIN เช่น .mindphp.com
YOUR COOKIE NAME เช่น phpbb_c_***
YOUR COOKIE PATH เช่น /

หรือใช้วิธีสร้างฟอร์มหน้าเว็บแล้วบันทึกได้
ตัวอย่าง save ไฟล์ชื่อ setcookies.php

โค้ด: เลือกทั้งหมด

<?php
/**
*
* @package Cookie and server settings tool
* @copyright (c) 2008 ktuk.net
* @copyright (c) 2011 phpbb.com
* @license GPL
*
*/

// Standard definitions/includes
$page_title = 'phpBB3 Cookies';
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$script_name = (isset($request) && ($request instanceof \phpbb\request\request_interface)) ? $request->server('SCRIPT_NAME', '') : $_SERVER['SCRIPT_NAME'];

$cookie_data = array();
$server_data = array();
$sent = request_var('sent', '');

// Gather cookie settings from config array
$cookie_data[] = $config['cookie_domain'];
$cookie_data[] = $config['cookie_name'];
$cookie_data[] = $config['cookie_path'];
$cookie_data[] = $config['cookie_secure'];

$server_data[] = $config['force_server_vars'];
$server_data[] = $config['script_path'];
$server_data[] = $config['server_name'];
$server_data[] = $config['server_port'];
$server_data[] = $config['server_protocol'];

$cookie_checked = ($cookie_data[3]) ? "checked = \"checked\"" : '';
$force_checked = ($server_data[0]) ? "checked = \"checked\"" : '';


if (!$sent)
{
   print "<html>
   <head><title>$page_title</title></head>
   <body>
   
   <form action=\"" . $script_name . "\" method=\"post\"
   <fieldset>
   <table>
      <tr><h2>Cookie Settings</h2></tr>
      <tr><td>Cookie Domain:</td><td><input type=\"text\" name=\"cookie_domain\" value=\"" . $cookie_data[0] . "\"></td></tr>
      <tr><td>Cookie Name:</td><td><input type=\"text\" name=\"cookie_name\" value=\"" . $cookie_data[1] . "\"></td></tr>
      <tr><td>Cookie Path:</td><td><input type=\"text\" name=\"cookie_path\" value=\"" . $cookie_data[2] . "\"></td></tr>
      <tr><td>Cookie Secure:</td><td><input type=\"checkbox\" name=\"cookie_secure\" value=\"1\" $cookie_checked ></td></tr>
   </table>

   <table>
      <tr><h2>Server Settings</h2></tr>
      <tr><td>Force Server Vars:</td><td><input type=\"checkbox\" name=\"force_server_vars\" value=\"1\"  $force_checked ></td></tr>
      <tr><td>Script Path:</td><td><input type=\"text\" name=\"script_path\" value=\"" . $server_data[1] . "\"></td></tr>
      <tr><td>Server Name:</td><td><input type=\"text\" name=\"server_name\" value=\"" . $server_data[2] . "\"></td></tr>
      <tr><td>Server Port:</td><td><input type=\"text\" name=\"server_port\" value=\"" . $server_data[3] . "\"></td></tr>
      <tr><td>Server Protocol:</td><td><input type=\"text\" name=\"server_protocol\" value=\"" . $server_data[4] . "\"></td></tr>
      <tr><td>Submit:</td><td><input type=\"submit\" name=\"sent\" value=\"submit\"></td></tr>
   </table>
   </fieldset>
   </body>
   <html>
   ";
}

if ($sent)
{
   $cookie_domain      = request_var('cookie_domain', '');
   $cookie_name      = request_var('cookie_name', '');
   $cookie_path      = request_var('cookie_path', '');
   $cookie_secure      = request_var('cookie_secure', 0);
   $force_server_vars   = request_var('force_server_vars', 0);
   $script_path      = request_var('script_path', '');
   $server_name      = request_var('server_name', '');
   $server_port      = request_var('server_port', 80);
   $server_protocol   = request_var('server_protocol', 'http://');

   $sql_ary = array(
       'cookie_domain'      => $cookie_domain,
       'cookie_name'      => $cookie_name,
       'cookie_path'      => $cookie_path,
       'cookie_secure'      => $cookie_secure,
       'force_server_vars'   => $force_server_vars,
       'script_path'      => $script_path,
       'server_name'      => $server_name,
       'server_port'      => $server_port,
       'server_protocol'   => $server_protocol
   );

   foreach ($sql_ary as $config_name => $config_value)
   {
      set_config($config_name, $config_value);
   }

   print "Settings are updated!";
   print "<meta http-equiv=\"refresh\" content=\"4;./setcookies.php\">";
}
เข้าไปที่ youdomain.com/setcookies.php
ref: https://www.phpbb.com/support/docs/en/3 ... e-settings
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: จะทำยังไงถึงจะปิด SID session phpBB ได้ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ถ้าแก้ปัญหาตามข้างบนแล้ว ไม่หาย อาจเป็นสาเหตุมาจากอีกสาเหตุคือ
http กับ https โหมทที่ใช้ ต้องตั้งค่า cookies ให้ตรงกับ protocol ด้วย
เช่น ถ้าใช้
https ควรตั้งค่า SSL เป็น เปิดใช้งาน ในหน้าตั้งค่า ตั้งค่าคุ้กกี้ และ ระบุ port 443
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 117