সুরক্ষা ঝুঁকি প্রয়োজনীয়_অনস 'অ্যাপ / ম্যাজ.এফপি'; Magento মূল মধ্যে


12

সিস্টেমের ভেরিয়েবলগুলিতে require_once 'app/Mage.php';অ্যাক্সেস দেওয়ার জন্য আমার আমার ম্যাজেন্টো মূলটিতে একটি ফাইল রয়েছে Mage::getStoreConfig

এটি কি সুরক্ষা ঝুঁকি সৃষ্টি করে? আমি কি এটি অন্য ফোল্ডারে রেখে দেব?

এটি আমার ফাইল, /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");

উত্তর:


10

স্ক্রিপ্টটিতে কোনও উপায় নেই যার মাধ্যমে স্ক্রিপ্টে প্রেরিত আর্গুমেন্টের মতো কিছু দিয়ে ম্যাজেন্টো ইনস্টলে কনটেন্টটি পরিবর্তন করতে হবে তবে আমি দেখতে পাচ্ছি না যে এটি একটি সুরক্ষা ঝুঁকি - যা Mage.phpকেবলমাত্র index.php(ওয়েব মূলের মধ্যেও) খুব কার্যকর তা করে।


ধন্যবাদ @ জনাথন হাসিকে, যে এটি অনুভূতি তৈরি করেছে, বিবেচনা করে না যে index.phpএটি ব্যবহার করছে
হলি

8

কিছুটা অতিরিক্ত প্যারানয়েয়া যুক্ত করার জন্য, আপনি app/Mage.phpএকটি পরম ফাইল সিস্টেমের পাথ ব্যবহার করে ফাইল নির্দিষ্ট করতে প্রয়োজনীয় বিবৃতিটি পরিবর্তন করতে পারেন , তাই পিএইচপি অন্তর্ভুক্ত পাথ ব্যবহার করা হয়নি:

require __DIR__ . '/app/Mage.php';

বা, 5.3 এর নীচে পিএইচপি সংস্করণগুলিতে:

require dirname(__FILE__) . '/app/Mage.php';

খুব তাত্ত্বিক আক্রমণ ভেক্টর হচ্ছে যে কোনো আক্রমণকারী একরকম নিপূণভাবে পিএইচপি রাস্তা অন্তর্ভুক্ত সক্ষম হয় এবং এইভাবে arbitraty অন্তর্ভুক্ত করতে সক্ষম হয় app/Mage.phpফাইল।


3

আপনি যদি কেবল এই ফাইলটি অ্যাক্সেস করবেন তবে if($_SERVER['REMOTE_ADDR']=='your.ip.address.here')এটি আইপি-সীমাবদ্ধ করবেন না কেন ? আমি অনেক ম্যাজেন্টো বিকাশকারীকে দেখেছি যা এই ধরণের ফাইলগুলি ম্যাজেন্টো মূলের মধ্যে রাখে এবং কোনও প্রকারের অনুমোদন ছাড়াই অ্যাডমিন-সম্পর্কিত জিনিসগুলি করে। উদাহরণস্বরূপ, আমি আমার এক বন্ধু ম্যাজেন্টো ওয়েবসাইটে গিয়েছিলাম এবং স্রেফ ফাইলটি অনুমান করেছি http://example.com/test.phpএবং এটি আমাকে আউটপুট Mail sent!এলওল দিয়েছে । বিকাশকারীরা স্ট্যান্ডোলোন স্ক্রিপ্টগুলিতে কিছু ডাটাবেস টেবিল পরিবর্তন করতে সংবেদনশীল জিনিসগুলিও লেখেন কারণ তারা এটি একবারে করতে চান এবং এর জন্য কোনও মডিউল তৈরি করতে চান না।

আমি যে কেউ এই জাতীয় স্ট্যান্ডলোন ফাইল তৈরি করে তাদের কেবলমাত্র তাদের জন্য প্রয়োজনীয়, এটি কেবলমাত্র আইপি-সীমাবদ্ধ রাখুন এবং সেই ফাইলটিতে আপনার কাজ শেষ হয়ে গেলে কেবল ফাইলের exit;শীর্ষে রাখুন। শুধু আমার 2 সেন্ট।


1

ক্রিড ব্রাটন, এই ধরণের কোডটি কল করা সর্বদা ঝুঁকিপূর্ণ হবে। যেহেতু আপনি টুইটার.এফপি থেকে Mage.php কল করছেন, আপনার প্রয়োজন put proper file permission for twitter.php। অথবা অন্য কোনও ব্যবহারকারী আপনার টুইটার.এফপি কোডটি পুনরায় লিখতে পারেন।Other wise it does not create any issue.


এই ফাইলটির জন্য 4৪৪ এর স্ট্যান্ডার্ড ফাইলের অনুমতিগুলি ঠিক থাকতে হবে। এই কথাটিও মনে রাখবেন যে পিএইচপি ফাইলগুলির কেবল ওয়েবসার্ভার ব্যবহারকারীর জন্য পঠনের অনুমতি প্রয়োজন তাই আপনি যে কোনও কারণেই ফাইলটির সম্পাদনা সীমাবদ্ধ করতে যদি আপনি এই সুযোগটি নিতে না চান।
জোনাথন হাসি

আপনার পরামর্শের জন্য @ জনাথন হুসি ... ধন্যবাদ
অমিত বেরা

2
কেন .. আমি ভোট নেমেছি .. ব্যাখ্যা করতে পারি
অমিত বেরা

আমি ঘৃণা করি যখন তারা নীচে ভোটের ব্যাখ্যা দেয় না।
স্পেয়ারসাইকেল

এর কিছু স্পষ্টতা দরকার, সহজেই ভুল বোঝাবুঝি হতে পারে: 1) এই প্রসঙ্গে "ব্যবহারকারী" এর অর্থ সার্ভারে থাকা একজন ব্যবহারকারী, অর্থাৎ ইতিমধ্যে সার্ভারে অ্যাক্সেস পাওয়া এমন কেউ। 2) এটি মোটেই সম্পর্কিত নয় যে ফাইলটিতে Mage.php অন্তর্ভুক্ত রয়েছে। কারও কাছে যদি আপনার সার্ভারে অ্যাক্সেস থাকে এবং ফাইলগুলি লিখতে পারেন তবে তিনি যে কোনও ফাইলে কোড যুক্ত করতে পারেন (বা উদাহরণস্বরূপ / মিডিয়াতে একটি নতুন তৈরি করতে পারেন, যা প্রায়শই to
to7 এ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.