অ্যাডমিন অ্যাক্সেস সহ আমি কীভাবে সংস্করণ 1.9 রক্ষণাবেক্ষণের পতাকা সক্ষম করব


14

যেহেতু আমি 1.9 UI সংস্করণে রক্ষণাবেক্ষণ মোডটি দেখতে পাচ্ছি না System > Configuration, তাই আমি সাইটের মূলটিতে একটি maintenance.flagফাইল বাদ দিয়েছি । তবে এটি আমার অ্যাডমিন প্যানেল অ্যাক্সেসকেও আটকায়। কেউ আমাকে কীভাবে অ্যাডমিন অ্যাক্সেস সহ সাইট রক্ষণাবেক্ষণ মোড বজায় রাখতে পারেন?

উত্তর:


16

এখানে একটি সমাধান রয়েছে:

রুট আকারে সূচক খুলুন এবং যুক্ত করুন ('অনুমোদিত' অ্যারেটি আপনি যে আইপিটি সাইটে অ্যাক্সেস করতে সক্ষম হতে চান তা সম্পাদনা করার কথা মনে রেখে);

$ip = $_SERVER['REMOTE_ADDR'];

$allowed = array('1.1.1.1','2.2.2.2'); // these are the IP's that are allowed to view the site.

তারপরে লাইনটি পরিবর্তন করুন

if (file_exists($maintenanceFile)) {

প্রতি

 if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) { 

সহজ। এখন আপনি সাইটটি (অ্যাডমিন + সামনের প্রান্ত) অ্যাক্সেস করতে পারেন, অন্যরা এটির রক্ষণাবেক্ষণ মোড দেখতে পান।

সূত্র: http://inchoo.net/ecommerce/magento/mainenter-mode-in-magento/


5

মুষ্টিমেয় এক্সটেনশন রয়েছে যা কেবল এটি করে। maintenance.flagকার্যকারিতা এখনও রয়েছে বলে এগুলি এখনও একটি সাময়িক কাজের মাত্রা । এটি অপসারণ করতে আপনাকে ম্যানুয়ালি 'index.php' ফাইল সম্পাদনা করতে হবে যা পরিবর্তে আপগ্রেডগুলির সাথে সমস্যা তৈরি করতে পারে।

if (file_exists($maintenanceFile)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}

এভাবেই 'ইনডেন্টেন্স.ফ্লেগ' কার্যকারিতা 'সূচি.এফপি' তে প্রয়োগ করা হয়। তবে যেহেতু আপনাকে 'index.php' সম্পাদনা করতে হবে আপনি আরও বিস্তৃত কিছু করতে পারেন, যেমন:

if (file_exists($maintenanceFile) && strpos($_SERVER['REQUEST_URI'], '/admin/') === false) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}

উপরের কোডটি দ্রুত এবং নোংরা হ্যাক নোট করুন। আপনি এটিকে আরও বিকাশ করতে পারেন, কারণ আমি কেবল ইউআরএলে '/ অ্যাডমিন /' আছে কিনা তা পরীক্ষা করে দেখছি।


এটি করার আগে শুধু অনুরোধ_রি কি তা যাচাই করুন এবং সেই অনুযায়ী শর্তটি সংশোধন করুন।
কল্যাণ চক্রবর্তী ভি

3

এবং যদি আপনার কোনও লোড ব্যালান্সারের পিছনে HTTP_X_FORWARDED_FOR শিরোনামে ক্লায়েন্ট আইপি পাস করছে তবে এটির জন্য অ্যাকাউন্টটি নিশ্চিত করে নিন:

// account for load balancer that passes client IP
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
   $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
}
if(empty($ip)) {
    $ip = $_SERVER['REMOTE_ADDR'];
}

// whitelist your ips
$allowed = array();
$allowed[]='WHITELIST.IP.ADDRESS.#1';
$allowed[]='WHITELIST.IP.ADDRESS.#2';

if (file_exists($maintenanceFile)) {
    if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) { 
        include_once dirname(__FILE__) . '/errors/503.php';
        exit;
    }
}

যারা AWS Ec2 লোড ব্যালেন্সার ব্যবহার করে তাদের পক্ষে অত্যন্ত দরকারী
আশেরার্ড

1

আপনি নিজের রক্ষণাবেক্ষণ পৃষ্ঠা সেট আপ করতে পারেন এবং রক্ষণাবেক্ষণ পৃষ্ঠাটি প্রেরণ করতে ত্রুটিযুক্ত ডকুমেন্ট 503 ব্যবহার করতে পারেন। রাইরাইটকন্ডের মাধ্যমে আপনার আইপি-ঠিকানাটি বাদ দিন যাতে আপনি যেভাবেই পৃষ্ঠাটি অ্যাক্সেস করতে পারেন এবং পুনঃনির্দেশিত না হন:

RewriteEngine On
ErrorDocument 503 /errors/503.php
RewriteCond %{REMOTE_ADDR} !^4.3.2.1 [NC] #your IP
RewriteCond %{REMOTE_ADDR} !^4.3.2.2 [NC] #other IP if needed
RewriteCond %{REMOTE_ADDR} !^127.0.0.1 [NC] #localhost maybe needed depending on server setup
RewriteCond %{REQUEST_URI} !^/errors/503.php
RewriteCond %{REQUEST_URI} !^/media/
RewriteCond %{REQUEST_URI} !^/images/
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_URI} !^/skin/
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !^/admin #your admin path
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^(.*) http://www.yourwebsite.com/errors/503.php [L,R=503]

দয়া করে নোট করুন যে পরীক্ষার জন্য পেমেন্ট গেটওয়ের মতো অতিরিক্ত পরিষেবাদি শ্বেত তালিকাভুক্ত করাও প্রয়োজনীয় হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.