วิธีลบ SID (ID เซสชัน) จาก URL ใน Magento 2


คำตอบ:


23

ไปที่Store> การกำหนดค่า> ทั่วไป> เว็บ> การตั้งค่าการตรวจสอบความถูกต้องของเซสชัน> ใช้ SID ที่หน้าร้านและตั้งค่าเป็น No

ตัวอย่าง

นี่คือคำตอบที่ดีเกี่ยวกับ SID :

SID เป็น "รหัสเซสชัน" Magento ใช้สิ่งนี้เพื่อติดตามกิจกรรมของผู้ใช้ภายในการติดตั้ง Magento เดียวกัน โดยปกติแล้ววีโอไอพีให้พลังเว็บไซต์เดียวและอีกร้านหนึ่งจากการติดตั้งเดียว (ฐานข้อมูล)

Magento สามารถเพิ่มประสิทธิภาพเว็บไซต์หลาย ๆ เว็บไซต์ด้วยการติดตั้งหลายร้านจากการติดตั้งเพียงครั้งเดียว SID ช่วยให้ผู้ใช้ยังคงอยู่ในระบบในขณะที่นำทางผ่านเว็บไซต์ / ร้านค้าเหล่านี้

ฉันคิดว่าถ้าคุณเปิดใช้งานฟังก์ชั่น SID จะถูกส่งเมื่อเข้าถึง URL แคตตาล็อกดังนั้น Magento สามารถอัปเดตเซสชันด้วยตำแหน่ง / สถานะของผู้ใช้สำหรับเว็บไซต์ / ร้านค้าปัจจุบัน

หากคุณไม่ได้ใช้สภาพแวดล้อมหลายเว็บไซต์หรือหลายร้านค้าคุณสามารถปิดการใช้งาน SID ที่ส่วนหน้าได้อย่างปลอดภัย


ขอบคุณสำหรับการตอบ !!! ฉันไปทำสิ่งนี้แล้วตอบผลภายในไม่กี่นาที !!!
Matt Bidas

2
ฉันใช้วิธีการนี้และปิดการใช้งาน SID บน Front-end และ Single-store mode ตั้งค่าเป็น "ใช่" SID ยังคงปรากฏขึ้น ในโหมดการผลิตเราควรสร้างไฟล์ใหม่เพื่อให้ใช้งานได้หรือไม่ ฉันไม่คิดอย่างนั้นเพราะมันเป็นค่าปรับแต่ง ความคิดใด ๆ
dchayka

@dchayka ฉันคิดว่านี่อาจเป็นปัญหาแคช ลองรีเฟรช
Siarhey Uchukhlebau

@SiarheyUchukhlebau แคชรีเฟรชแล้ว ฉันคิดออกว่ามันคืออะไร ขอบคุณสำหรับการติดตาม
dchayka

@SiarheyUchukhlebau ฉันจะเปลี่ยนเมตาแท็กสำหรับ example.com/?SID=nufp7tmaardcoff2ddbp4vmmo6 ใน magento 2 ได้อย่างไร
supriya mishra

4

ผู้ที่ตั้งค่าใช้ SID บนหน้าร้านเป็นไม่ใช่ (ดังที่ Siarhey Uchukhlebau ชี้ให้เห็นในคำตอบของเขา) แต่ก็ยังไม่สามารถกำจัด& sid = ...ใน URL ตรวจสอบลิงก์ต่อไปนี้

มันเป็น Magento Bug ซึ่งจะได้รับการแก้ไขในเวอร์ชั่น 2.3
ตั๋วที่เกี่ยวข้อง: https://github.com/magento/magento2/issues/9453

โชคดีที่มี Inchoo Tutorial เกี่ยวกับวิธีการลบผ่านไฟล์. htaccess เป็นการแก้ปัญหา
http://inchoo.net/dev-talk/remove-sid-from-magento-urls/


Magento 2.3 เปิดตัวแล้ว สิ่งนี้ได้รับการแก้ไขแล้วหรือไม่ ไม่พบอะไรเกี่ยวกับมัน
Akif

ฉันไม่ได้ใช้ Magento 2.3 แต่ใน Magento 2.2.6 ฉันไม่ได้เผชิญกับปัญหานี้อีกต่อไป
Michael Poppinger

0

ไม่ได้?SIDถูกเพิ่มโดย PHP โดยอัตโนมัติหากมีการกำหนดค่าให้ PHP ไม่จัดเก็บเซสชันบนเซิร์ฟเวอร์หรือเบราว์เซอร์ไม่ยอมรับคุกกี้

ฉันเชื่อว่า Magento ไม่ได้ทำตามค่าเริ่มต้น มีการตั้งค่าสำหรับมัน แต่ฉันสมมติว่า OP ไม่ได้เปลี่ยนแปลงสิ่งนี้มิฉะนั้นเขาก็จะคิดเรื่องนี้ด้วยตัวเอง


หากเปิดใช้งานตัวเลือกการใช้งาน PHP session.use_trans_sid URIs ที่เกี่ยวข้องจะถูกเปลี่ยนเป็นรหัสเซสชันโดยอัตโนมัติ ตัวเลือกนี้ไม่ได้เปิดอยู่ตามค่าเริ่มต้น การตั้งค่าเริ่มต้นของ Magento 2 สำหรับ "Use SID บนหน้าร้าน" คือ "ใช่"
t-richards

-7

vendor/magento/framework/Session/SidResolver.php

ค้นหาฟังก์ชั่นและแสดงความคิดเห็นบรรทัดดังต่อไปนี้

public function getUseSessionInUrl()
{
   // return $this->_useSessionInUrl;
}

1
อย่าแก้ไขไฟล์หลักของ Magento นอกจากนี้หลังจากคำสั่งผู้แต่งคนถัดไปเนื้อหาของvendor/magento/framework/อาจได้รับการกู้คืน / อัพเดต
7ochem
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.