Saya memiliki file di root Magento saya yang require_once 'app/Mage.php';
memberi saya akses ke Mage::getStoreConfig
variabel sistem.
Apakah ini menyebabkan risiko keamanan? Haruskah saya letakkan di folder lain?
Ini file saya, /twitter.php :
<?php
require_once 'app/Mage.php';
Mage::app();
$consumer_key = Mage::getStoreConfig("Social/twitterapi/consumer_key");
$consumer_secret = Mage::getStoreConfig("Social/twitterapi/consumer_secret");
$oauth_access_token = Mage::getStoreConfig("Social/twitterapi/access_token");
$oauth_access_token_secret = Mage::getStoreConfig("Social/twitterapi/access_token_secret");
index.php
menggunakannyaUntuk menambahkan sedikit paranoia tambahan, Anda bisa mengubah pernyataan yang diperlukan untuk menentukan
app/Mage.php
file menggunakan jalur sistem file absolut, sehingga jalur menyertakan PHP tidak digunakan:Atau, pada versi PHP di bawah 5.3:
The sangat teoritis vektor serangan adalah bahwa seorang penyerang mampu entah bagaimana memanipulasi PHP termasuk jalan dan dengan demikian dapat memasukkan arbitraty
app/Mage.php
file.sumber
Jika Anda adalah satu-satunya yang akan mengakses file ini, mengapa tidak membatasi IP
if($_SERVER['REMOTE_ADDR']=='your.ip.address.here')
? Saya telah melihat banyak pengembang magento yang menyimpan jenis file seperti itu di root Magento dan melakukan hal-hal yang berkaitan dengan admin tanpa jenis otentikasi. Sebagai contoh, saya pergi ke salah satu situs web teman saya Magento dan hanya menebak filehttp://example.com/test.php
dan itu memberi saya hasilMail sent!
lol. Pengembang juga menulis hal-hal sensitif untuk mengubah beberapa tabel database dalam skrip mandiri karena mereka ingin melakukannya sesekali, dan tidak ingin membuat modul untuk itu.Saya akan menyarankan siapa saja yang membuat jenis file mandiri yang hanya diperlukan untuk mereka, cukup IP-batasi saja, dan begitu pekerjaan Anda selesai pada file itu, cukup taruh
exit;
di atas file. Hanya 2 sen saya.sumber
Creed Bratton, Akan selalu berisiko memanggil kode jenis ini. Karena Anda memanggil Mage.php dari twitter.php, Anda perlu melakukannya
put proper file permission for twitter.php
. Atau pengguna lain dapat menulis ulang kode twitter.php Anda.Other wise it does not create any issue.
sumber