ฉันคุ้นเคยกับการใช้วิธีการต่าง ๆ เพื่อสร้าง URL ที่ปลอดภัยตามบริบทเช่น:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
วิธีนี้ใช้งานได้ดีสำหรับการสร้างลิงก์ที่จะนำไปยังหน้าเว็บที่ปลอดภัยในขณะที่คุณอยู่ในโหมดปลอดภัย (หรือจะเชื่อมโยงไปยังหน้าเว็บที่ไม่ปลอดภัยหากไม่ได้ใช้โหมดปลอดภัย)
ปัญหาที่ฉันกำลังมองหาคือวีโอไอพีจะใช้กับหน้าพิเศษบางหน้าเท่านั้นที่จำเป็นต้องมีความปลอดภัย (บัญชีลูกค้าการชำระเงินและอื่น ๆ ) สิ่งที่ฉันต้องการคือให้ Magento ใช้ลิงก์ที่ปลอดภัยเสมอหากผู้ใช้อยู่ในโหมดปลอดภัยหรือใช้ลิงก์ที่ไม่ปลอดภัยหากผู้ใช้อยู่ในโหมดที่ไม่ปลอดภัย
จากสิ่งที่ฉันสามารถบอกได้ตัวเลือกที่แท้จริงของฉันคือ:
- แก้ไขทุกอินสแตนซ์ของ
$this->getUrl()
ให้คล้ายกับตัวอย่างด้านบน - ตั้งค่าไม่ปลอดภัย
base_url
ให้ใช้ HTTPS บังคับให้ทุกหน้าปลอดภัย
มีวิธีที่ดีกว่าที่จะไม่ต้องเปลี่ยนการเรียก$this->getUrl()
หรือบังคับให้ทุกหน้าเป็น HTTPS โดยไม่คำนึงถึงบริบทของผู้ใช้หรือไม่?
- แก้ไข -
ฉันรู้ว่าฉันสามารถแก้ไข/app/code/core/Mage/Core/Model/Url.php->setRouteParams()
วิธีการได้แม้ว่าฉันหวังว่าจะมีวิธีที่สะอาดกว่า