কেবলমাত্র একটি নির্দিষ্ট ভার্চুয়াল হোস্টে PhpMyadmin এ অ্যাক্সেসের অনুমতি দিন


9

আমি একাধিক ভার্চুয়ালহোস্ট পরিবেশে কাজ করছি। আমি মাইএসকিএল রিমোট কন্ট্রোলের জন্য পিএইচপিমিডমিন ইনস্টল করেছি

পরিবেশ নীচের মতো কনফিগার করা হয়েছে:

one.domain.com
two.domain.com
onlyphpmyadmin.domain.com

এখন, যদি আমি তিনটি ডোমেনের একটিতে অ্যাক্সেস করি

http://one.domain.com/phpmyadmin/
http://two.domein.com/phpmyadmin/
http://onlyphpmyadmin.domain.com/phpmyadmin/

ফলাফল একই, Phpmyadmin অ্যাক্সেস অনুমোদিত।

লক্ষ্যটি হ'ল নীচের মতো একটি পরিস্থিতি পাওয়া

http://one.domain.com/phpmyadmin/ --> access denied
http://two.domein.com/phpmyadmin/ --> access denied 
http://onlyphpmyadmin.domain.com/phpmyadmin/ -->access allowed

কোন হ্যাক অনুরূপ

<?php 
if($_SERVER['HTTP_HOST'] != 'onlyphpmyadmin.domain.com')
die('access denied');

 ...
 ?>

কিছু Phpmyadmin ফাইল।


এখানে আমার Phpmyadmin কনফিগারেশন ফাইল

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_admin_flag allow_url_fopen Off
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
    AuthType Basic
    AuthName "phpMyAdmin Setup"
    AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
</Directory>

উত্তর:


25

এলিয়াসের ঘোষণাটি সরান

Alias /phpmyadmin /usr/share/phpmyadmin

সার্ভারের প্রসঙ্গ থেকে এবং এটি vhost প্রসঙ্গে রেখে দিন

<VirtualHost *:80>
    ServerName onlyphpmyadmin.domain.com
    .
    .
    .
    Alias /phpmyadmin /usr/share/phpmyadmin
</VirtualHost>

পুরো phpmyadmin কনফিগারেশনটি প্রাসঙ্গিক vhost এ অন্তর্ভুক্ত করা সহজ এবং পছন্দসই হতে পারে

<VirtualHost *:80>
    ServerName onlyphpmyadmin.domain.com
    .
    .
    .
    include /path/to/phpmyadmin.conf
</VirtualHost>

এবং তারপরে সার্ভারের প্রসঙ্গ থেকে অন্তর্ভুক্ত করুন এবং পরিবর্তনগুলি প্রভাবিত করার জন্য অ্যাপাচি পুনরায় চালু করুন।


Centos 6.5 এ আমার জন্য কাজ করবে বলে মনে হয় না। আমি উভয় পদ্ধতি চেষ্টা করেছি এবং এখনও সমস্ত ডোমেন থেকে এটি অ্যাক্সেস করতে সক্ষম।
জেরেমি


3

আরএইচইএল / সেন্টস-এ, / পিএইচপিএমএডমিন ওরফে সেট আপ করতে অ্যাপাচি /etc/httpd/conf.d/phpmyadmin.conf লোড করে। ডিরেক্টরি নির্দেশটি প্রাথমিকভাবে কেবলমাত্র লোকালহোস্ট থেকে ট্র্যাফিকের অনুমতি দেওয়ার জন্য সেট করা থাকে, সুতরাং phpmyadmin "ডোমেন / phpmyadmin" এর মতো অ্যাক্সেস করার সময় আপনি 403 ত্রুটি পেতে পারেন।

নিম্নলিখিতটি ব্যবহার করে, আপনি কেবলমাত্র / phpmyadmin ওরফে নির্দিষ্ট ভার্চুয়াল হোস্ট থেকে কাজ করার অনুমতি দেওয়ার জন্য RHEL / CentOS সেট করতে পারেন।

/etc/httpd/conf.d/phpmyadmin.conf

<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
   Allow from 127.0.0.1
</Directory>

#Alias /phpmyadmin /usr/share/phpmyadmin
#Alias /phpMyAdmin /usr/share/phpmyadmin
#Alias /mysqladmin /usr/share/phpmyadmin

এরপরে, আপনার ভোস্টে উপনাম নির্দেশ যুক্ত করুন এবং অ্যাপাচি পুনরায় চালু করুন।

দয়া করে মনে রাখবেন, এটি সর্বাধিক সুরক্ষিত বাস্তবায়ন নয়। প্রমাণীকরণ, আইপি বাধা বা উভয়ের সংমিশ্রণের মাধ্যমে / phpmyadmin সুরক্ষিত করার জন্য দয়া করে যত্ন নিন।

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