คำถามติดแท็ก session

แสดงคำถามเกี่ยวกับการจัดการเซสชันใน Magento

1
เซสชันตัวแปรวีโอไอพีเริ่มต้นช้ามากในหน้าหมวดหมู่ที่มีที่เก็บข้อมูลเซสชัน MEMCACHE
ฉันใช้memcacheสำหรับการจัดเก็บเซสชันและหน้าหมวดหมู่ที่ฉันสังเกตเห็นในธุรกรรมที่ระลึกใหม่ซึ่งการเริ่มต้นเซสชันที่หลากหลายอาจใช้เวลานานกว่า 30 วินาที อาจเป็นเรื่องเกี่ยวกับการล็อคเซสชัน แต่ฉันคิดว่านี่ไม่ใช่ปัญหาเมื่อใช้ memcache ทุกคนเคยเผชิญกับสิ่งนี้หรือมีความคิดว่าอะไรจะเป็นสาเหตุ

6
วิธีแสดงข้อความเซสชันที่ส่วนหน้าใน magento 2 เบต้า
ฉันต้องการแสดงข้อผิดพลาดหรือข้อความความสำเร็จในโมดูล magento 2 ของฉัน ผมจึงขยายการควบคุม front-end \Magento\Framework\App\Action\Actionของฉันกับชื่อชั้น จากนั้นฉันเปลี่ยนเส้นทางไคลเอนต์ไปยังหน้าแรกโดยใช้รหัสต่อไปนี้ $this->messageManager->addError($SomeMessage); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath($base_path); ทุกอย่างทำงานได้ดี แต่บรรทัดนี้ไม่พิมพ์ข้อผิดพลาด $this->messageManager->addError($SomeMessage);

1
เข้าถึงเซสชัน Magento จากไซต์ภายนอก
คุณจะลงชื่อเข้าใช้ลูกค้า / ผู้ใช้ที่มีอยู่จากแอปพลิเคชันภายนอกหรือข้ามเซสชันของเขาหลังจากเข้าสู่Magentoแอปพลิเคชันอื่นได้อย่างไร

3
เข้าสู่ระบบและเปลี่ยนเส้นทางลูกค้าไปยังเว็บไซต์ของเขา
ในวีโอไอพี mutistore-multiwebsite ฉันต้องการบังคับให้ผู้ใช้ลงชื่อเข้าใช้เว็บไซต์เดียวกันที่ลงทะเบียนไว้ พวกเขาอาจใช้แบบฟอร์มการเข้าสู่ระบบใด ๆ ในเว็บไซต์ใด ๆ แต่แบบฟอร์มควรตรวจสอบข้อมูลประจำตัวของพวกเขาและเปลี่ยนเส้นทางไปยังเว็บไซต์ที่ถูกต้อง ฉันพยายามตรวจสอบเว็บไซต์ของลูกค้าและบังคับให้เขาลงชื่อเข้าใช้ มันไม่ทำงานค่อนข้างดีแม้ว่า ผู้ใช้จะได้รับการเข้าสู่เว็บไซต์ปัจจุบันไม่ใช่ที่เขาลงทะเบียน ในแอพ / รหัส / local / mage / ลูกค้า / Session.php public function login($username, $password) { /**************************************************/ $customer = Mage::getModel("customer/customer"); $customer_website = null; foreach (Mage::app()->getWebsites() as $website) { $customer->setWebsiteId($website->getId()); $customer->loadByEmail($username); //check if user exists if($customer->getName()){ $customer_website = $website->getId(); } …

3
หน่วยเก็บข้อมูลเซสชันคุณภาพเยี่ยม: Redis vs. Memcached
ฉันใช้ Magento EE 1.12.2 (เท่ากันใน CE 1.7.2) โดยที่เรามี Redis สำหรับการแคช ( ส่วนขยาย Cm_Cache, Redis v 2.2.12 ) แต่เราใช้ Memcache สำหรับที่เก็บข้อมูลเซสชัน Redis ไม่ได้รับการสนับสนุนนอกกรอบใน Magento เวอร์ชันเหล่านี้ ดังนั้นความกังวลของฉันที่นี่คือ: คุ้มค่าหรือไม่ที่จะต้องเพิ่มพื้นที่เก็บข้อมูลลงใน Redis ในแง่ของความพยายามและการปรับปรุงความเร็ว? Memcache ไม่ดีหรืออาจจะดีกว่านี้หรือ ในโครงการนี้เรามีไฟล์เซสชันขนาดใหญ่เนื่องจากเราจำเป็นต้องจัดเก็บไฟล์ XML ของบุคคลที่สามไว้ในเซสชันดังนั้นการเพิ่มประสิทธิภาพการอ่านและเขียนของเซสชันอาจส่งผลกระทบอย่างมาก จากlocal.xml: <session_save><![CDATA[memcache]]></session_save> และ: <cache> <backend>Cm_Cache_Backend_Redis</backend> [...] </cache>

2
ไม่สามารถเข้าสู่ระบบผู้ดูแลระบบหลังจากติดตั้งส่วนขยาย
ขออภัยล่วงหน้าสำหรับรายละเอียดบาง ๆ ในอันนี้ ฉันขายส่วนต่อ Magento ด้วยการเปิดตัวล่าสุดฉันได้เริ่มรับรายงานข้อผิดพลาดแปลก ๆ จากผู้ใช้ไม่กี่คน โดยเฉพาะหลังจากติดตั้งส่วนขยายพวกเขารายงานว่าไม่สามารถเข้าสู่ระบบไปยังผู้ดูแลระบบด้วยการร้องขอการเข้าสู่ระบบจะถูกเปลี่ยนเส้นทางกลับไปที่หน้าเข้าสู่ระบบและไม่มีข้อผิดพลาดใด ๆ แสดง ดังนั้นดูเหมือนว่าปัญหาคลาสสิก "ไม่สามารถตั้งค่าคุกกี้ / สร้างอินสแตนซ์เซสชัน" ที่ไหนนี้ได้รับแปลกคือพวกเขามีความสามารถที่จะเข้าสู่ระบบหลังจาก 3-12 ชั่วโมง (ที่ประมาณการ) พวกเขาพบปัญหาติดต่อฉันเพื่อขอความช่วยเหลือฉันเขียนกลับมาพวกเขารายงานว่าปัญหาหายไป ฉันยังถือว่าการล้างคุกกี้ของพวกเขาและสร้างรหัสเซสชันใหม่จะแก้ไขปัญหาและแนะนำเช่นเดียวกันกับผู้ใช้ที่พบมัน มีใครที่นี่เจอสิ่งที่คล้ายกันหรืออาจคิดว่าเหตุผลนี้เกิดขึ้น? ฉันไม่สามารถสร้างปัญหาขึ้นใหม่ในพื้นที่ได้ แต่ฉันได้รับรายงานเพียงพอที่ฉันเชื่อว่าเป็นปัญหาที่เกิดขึ้นจริง

1
ล็อคเซสชันหลังจากใช้ Cm_RedisSession
เราเปลี่ยนเป็น Redis เป็นหน่วยเก็บข้อมูลเซสชันด้วยโมดูล Cm_RedisSession เริ่มต้นจาก Magento 1.9.2.4 หลังจากการปรับใช้ลูกค้าจำนวนมากประสบเวลาโหลดหน้านานมาก (> 20-30 วินาที) สำหรับ Redis-Server เราใช้ AWS ElastiCache (m3. large) ใน Tideways (คล้ายกับ Newrelic) ฉันเห็นคอขวดนี้ในการติดตาม: หลังจากอ่านเพิ่มเติมเกี่ยวกับปัญหานี้และดูในบันทึก Cm_RedisSession ฉันพบว่าเซสชันจากลูกค้าถูกล็อคและหลังจากการวิจัยเพิ่มเติมฉันตัดสินใจอัพเกรด Cm_RedisSession เป็น 1.14 เนื่องจากการปรับปรุงสำหรับการล็อคเซสชัน ด้วยเวอร์ชันล่าสุดปัญหาจะลดลงเนื่องจากการล็อกจะหยุดลงอย่างถูกต้องหลังจาก 5 วินาที แต่ยังมีเวลาโหลด 5 วินาที ฉันมีสองทฤษฎี คำขอบางส่วนตายดังนั้นจึงไม่มีการsession_close()โทรและด้วยเหตุนี้การล็อกจะไม่ถูกนำออกใช้: ฉันเปิดใช้งานบันทึกทุกรายการ (php-fpm, nginx และ magento) และดูพวกเขาจนกว่าข้อผิดพลาดนี้จะปรากฏใน Tideways สำหรับลูกค้า แต่ไม่มีข้อผิดพลาดในกรอบเวลานี้โดยเฉพาะ สคริปต์หลายอันพยายามอ่าน / เขียนเซสชันเดียวกัน: …

1
ทำให้ลูกค้าเข้าสู่ระบบหลังจากลบ var / session ใน magento
เรากำลังประสบปัญหาบางอย่างในไซต์สดตามลิงก์ด้านล่าง สำหรับความรู้ของฉันถ้าเราลบโฟลเดอร์ var / session กว่าที่เราต้องเข้าสู่ระบบทั้งส่วนหน้าและส่วนหลัง เพื่อแก้ปัญหานี้: เว็บไซต์สดว่างเปล่าในส่วนหน้าหรือโหลดต่อไปและไม่เคยโหลดเราจะต้องลบโฟลเดอร์เซสชั่นซ้ำแล้วซ้ำอีก มีวิธีใดบ้างถ้าเราลบโฟลเดอร์เซสชั่นด้วยเราสามารถให้ลูกค้าของเราเข้าสู่ระบบสำหรับเว็บไซต์ได้หรือไม่?

2
วานิชและน้ำมันสน
ฉันพบว่าเมื่อใดก็ตามที่ฉันเริ่ม Varnish บนเซิร์ฟเวอร์ของฉันฉันจะสูญเสียเซสชันของฉันสำหรับผู้ใช้ของฉัน นี่คือการทำให้ลูกค้าของฉันหลวมตะกร้าสินค้า นี่เป็นพฤติกรรมปกติของวานิชหรือ VCL ของฉันจะตำหนิหรือไม่ ดูเหมือนว่ามันจะไม่ ข้อมูลเพิ่มเติม ในการตรวจสอบเพิ่มเติมปรากฏว่าปัญหานี้เกี่ยวข้องกับปัญหา # 725ใน GitHub การติดตั้ง Magento ของฉันคือรุ่น 1.9.1.0 มันก็ควรจะกล่าวว่าส่วนหน้าทั้งหมดของฉันกำลังทำงานภายใต้ https ฉันใช้ปอนด์ต่อหน้าวานิชเพื่อยกเลิก SSL ปรากฏว่าพฤติกรรมวีโอไอพีเริ่มต้นในรุ่นนี้คือการสร้างคุกกี้ส่วนหน้ารองซึ่งมักจะเรียกว่า 'frontend_cid' ในความพยายามที่จะทดสอบการโจมตีของ MITM ดูเหมือนว่าไฟล์ VCL ที่สร้างขึ้นโดย Turpentine ไม่ได้ส่งผ่านคุกกี้นี้ซึ่งก่อให้เกิดเซสชันที่ไม่ถูกต้อง ใครสามารถอธิบายได้ว่าไฟล์ VCL ส่งผ่านคุกกี้ที่ Magento ทำต่อลูกค้าได้อย่างไร ฉันได้ทำให้แคบลงเพื่อวานิชไม่ได้สร้างคุกกี้ที่จำเป็น ตั้งแต่ Magento 1.9.1.0 มีการแนะนำคุกกี้ 'frontend_cid' เพื่อป้องกันการโจมตีของ MITM สามารถพบได้ในMage_Core_Model_Session_Abstract_Varienชั้นเรียนที่บรรทัดที่ 135 if (Mage::app()->getFrontController()->getRequest()->isSecure() && empty($cookieParams['secure'])) { …

2
วีโอไอพีใช้เซสชันและคุกกี้เมื่อใด
ฉันรู้ว่าวีโอไอพีมีฟังก์ชั่นหลักสำหรับการจัดการเซสชันและคุกกี้: Mage::getSingleton('core/cookie'); Mage::getSingleton('core/session'); วีโอไอพีตั้งค่าคุกกี้เมื่อใดและเมื่อใดที่ PHP ใช้เซสชัน กรณีการใช้งานคืออะไร? ฉันบิตสับสนเพราะฉันรู้ว่าร้านวีโอไอพีข้อมูลรถเข็นในและสถานะของผู้ใช้ในMage::getSingleton('checkout/session') Mage::getSingleton('customer/session')แต่เซสชันการชำระเงินดูเหมือนจะไม่ใช่เซสชัน แต่เป็นคุกกี้แทน เพราะเมื่อฉันปิดเบราว์เซอร์และเปิดหน้าขึ้นใหม่รายการนั้นยังคงอยู่ในรถเข็น นั่นหมายความว่าcheckout/sessionโมเดลตั้งค่าคุกกี้และไม่ใช่$_SESSIONตัวแปรส่วนกลางใช่หรือไม่

3
มีการสนับสนุนเซสชันของลูกค้าผ่าน REST API ของ Magento หรือไม่
ฉันกำลังขยายฟังก์ชั่นสิ่งที่อยากได้ไปยัง REST API ของ Magento มันจะดีในการเข้าถึงเซสชันของลูกค้า Magento สนับสนุนการเข้าถึงเซสชันของลูกค้าผ่าน REST หรือไม่

1
คุณจะเพิ่มข้อความเซสชันหลังจากที่มีการเรียกใช้ session_write_close ได้อย่างไร
เราใช้โมดูล uRapidFlow ที่ยอดเยี่ยมโดย Unirgy แต่ได้รับความรำคาญเล็กน้อย session_write_closeเมื่อคุณเรียกใช้หนึ่งในโปรไฟล์ของพวกเขาที่พวกเขาเรียก ปัญหานี้คือว่าถ้าเราต้องการเรียกใช้กระบวนการจากตัวควบคุม adminhtml เราไม่สามารถตั้งค่าข้อความแฟลชเซสชันเพื่อแจ้งให้ผู้ใช้ทราบถึงความสำเร็จหรือข้อยกเว้นที่ถูกดักจับได้ เป็นไปได้ไหมที่จะรีสตาร์ทเซสชันหลังจากกระบวนการเสร็จสมบูรณ์เพื่อเพิ่มข้อความเซสชัน ตอนแรกฉันไม่แน่ใจว่าเป็นไปได้ไหมที่จะเริ่มต้นเซสชันใหม่ใน PHP แต่หลักฐานการทำงานของแนวคิด PHP นั้น: session_start(); // if this is the second run, show the value if (!empty($_SESSION['foo'])) { echo $_SESSION['foo'], PHP_EOL; } // set an initial value $_SESSION['foo'] = 'bar'; // start running profile session_write_close(); // after running profile …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.