Saya terbiasa menggunakan berbagai metode untuk menghasilkan URL aman berdasarkan konteks, yaitu:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
Ini berfungsi baik untuk membangun tautan yang akan mengarahkan ke halaman aman saat Anda berada dalam mode aman (atau hanya akan menautkan ke halaman tidak aman jika tidak menggunakan mode aman).
Masalah yang saya lihat adalah Magento hanya memperlakukan beberapa halaman khusus karena harus aman (akun pelanggan, checkout, dll). Apa yang saya inginkan adalah agar Magento selalu menggunakan tautan aman jika pengguna saat ini dalam mode aman , atau menggunakan tautan tidak aman jika pengguna berada dalam mode tidak aman.
Dari apa yang bisa saya katakan, satu-satunya pilihan nyata saya adalah:
- Ubah setiap instance
$this->getUrl()
agar mirip dengan cuplikan di atas. - Setel non-aman
base_url
untuk menggunakan HTTPS, memaksa semua halaman untuk mengamankan.
Apakah ada metode yang lebih baik yang tidak perlu harus mengubah setiap panggilan $this->getUrl()
atau memaksa semua halaman ke HTTPS terlepas dari konteks pengguna?
- edit -
Saya sadar saya dapat memodifikasi /app/code/core/Mage/Core/Model/Url.php->setRouteParams()
metode, meskipun saya berharap ada cara yang lebih bersih.
Mage_Core_Model_Store::getBaseUrl
untuk membuat toko kami selalu aman ketika disematkan di tab Facebook. Ada beberapa hal lain yang perlu dipertimbangkan, seperti memblok penyimpanan cache yang mana yang lebih dulu menjadi hit (Anda harus menambahkan sesuatu ke kunci cache). Anda juga akan memiliki seperti yang dikatakan David, tautan yang tidak aman untuk masuk / keluar, atau pada akhirnya setiap pelanggan di situs Anda akan berakhir dalam mode aman jika mereka pernah masuk atau menekan kasir./catalogsearch/
jalur sebagai aman harus mencakup apa pun yang cocok/catalogsearch/*/*/
? Yaitu hanya perlu satu aturan untuk membuat semuanyacatalogsearch
aman.Tetapkan berikut ini di
app/etc/config.xml
file Anda :Ini berfungsi di Magento 1.9.1
Jika pengguna menggunakan https, ini akan memaksa semua url untuk menulis ulang ke https.
sumber
Ada opsi yang sederhana namun penting dalam Sistem | Konfigurasi | Web ~ di mana Anda harus mengatakan "gunakan url aman di frontend" - jika Anda setel ke ya, maka halaman yang dimuat oleh https akan menggunakan tautan https,
tidak perlu menulis kode atau memberikan konfigurasi tambahan dalam banyak kasus
sumber