অ্যাপাচি-তে, যখন কেউ কেবলমাত্র একটি ওয়েব ব্রাউজারে আইপি ঠিকানা ব্যবহার করে তবে আমি কোনও ওয়েবসাইটটিতে অ্যাক্সেস অক্ষম করব কীভাবে?


8

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

এটি করার জন্য কোন কনফিগারেশনগুলির প্রয়োজন হবে?

উত্তর:


10

কেবলমাত্র ডিফল্ট ভার্চুয়াল হোস্ট সেট আপ করুন। এর মধ্যে একটি মন্তব্য উদাহরণ রয়েছে httpd.confবা তুচ্ছ কিছু করার মতো:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html
</VirtualHost>

ঠিক আছে, এটি আমার সমস্যার সমাধান করেছে .. আপনাদের সবার জন্য অনেক ধন্যবাদ :)
আমর এলখেদেউই

7

আপনি .htaccessমোড_উইরাইট দিয়ে এটি অর্জন করতে পারেন (হয় ফাইলের মধ্যে, বা ডিফল্ট সার্ভারের প্রসঙ্গে, বা পৃথক ভার্চুয়ালহোস্টে যেখানে ServerNameহোস্টের আইপি ঠিকানা):

RewriteEngine On
RewriteCond %{HTTP_HOST} 1.2.3.4 # Replace with your own IP address
RewriteRule .* - [F]

এটি বলে যে HTTP_HOST শিরোনাম যদি আইপি ঠিকানার সাথে 1.2.3.4 মেলে, তবে কোনও অনুরোধের সাথে একটি পূরণ করা উচিত 403 Forbidden। অন্য কোনও HTTP_HOST শিরোনাম রয়েছে এমন কোনও অনুরোধের (যেমন আইপি ঠিকানার চেয়ে প্রকৃত ডোমেন নাম সহ একটি) প্রভাবিত হওয়া উচিত নয়।


এটি httpd.conf- এ কাজ করেনি
আমর এলখেদেউই

এটি .htaccess ফাইলের মাধ্যমে কাজ করেছে, অ্যাপাচি কনফিগারেশন থেকে আমার এটি করা দরকার।
আমর এলখেদেউই

2
আপনি httpd.conf সম্পাদনার পরে অ্যাপাচি পুনরায় চালু করেছেন? অন্যথায় অ্যাপাচি নতুন কনফিগারেশন সম্পর্কে জানতে পারবে না। এটি .htaccess থেকে পৃথক, যা অ্যাপাচি পুনরায় আরম্ভ না করে পার্স করা হয়।
etagenklo

নিশ্চিত তবে কিছুই পরিবর্তিত হয়নি
আমর এলখেদেউই

1

আপনি আইপি দ্বারা সরাসরি অ্যাক্সেস ব্লক করতে পারবেন না। আপনাকে অবশ্যই সংযোগটি মঞ্জুর করতে হবে তবে তার সাথে কী করবে তা সিদ্ধান্ত নিতে হবে। এটি কোনও 403, একটি 404 ফেরত আসতে পারে বা তাদের পছন্দসই পৃষ্ঠায় পুনর্নির্দেশ করতে পারে। আপনি মোড_উইরাইট দিয়ে এটি করতে পারেন।

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^123\.123\.123\.123
 RewriteRule ^(.*)$ - [F,L]

এটি ওয়েব ক্লায়েন্ট দ্বারা পাস করা HTTP HOST শিরোনামের সাথে মিলবে। অন্য সমস্ত অনুরোধগুলি পেরিয়ে যেতে হবে।

তবে আপনি SEO এর উদ্দেশ্যে আপনার ইউআরএলগুলি স্বাভাবিক করতে চাইতে পারেন।

এই পদ্ধতির সাহায্যে আপনি এমন কোনও কিছু পুনর্লিখন করেন যা কাঙ্ক্ষিত ফলাফলের সাথে মেলে না।

RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]

তথ্যসূত্র: https://httpd.apache.org/docs/2.0/rewrite/rewrite_guide.html#canonicalurl

তথ্যসূত্র: http://en.wikedia.org/wiki/URL_normalization


এটি httpd.conf- এ কাজ করেনি
আমর এলখেদেউই

এটি .htaccess ফাইলের মাধ্যমে কাজ করেছে, অ্যাপাচি কনফিগারেশন থেকে আমার এটি করা দরকার।
আমর এলখেদেউই

এটি httpd.conf এ কাজ করবে তবে পুনর্লিখন ইঞ্জিনটি চালু করে আপনার ভার্চুয়াল হোস্টের নির্দেশের ভিতরে রেখে দেবেন তা নিশ্চিত হন। অন্যথায় এটি কেবল আপনার ডিফল্ট সার্ভারে প্রয়োগ হবে। দেখুন: httpd.apache.org/docs/current/mod/mod_modrite.html#rewritecond
জেফট্রাকাইড

1

এই সমাধানটি সমস্ত ক্ষেত্রে কভার করে না।

আইপিএল ইউআরএল এর যে কোনও সংখ্যা বা বিন্দুকে এর% ## দ্বারা প্রতিস্থাপন করুন উদাহরণস্বরূপ 1% 31 দ্বারা ... 8% দ্বারা 38 38 এবং আপনি আইপিতে পৌঁছে যাবেন, ডোমেন url এ নয়।

ধরা যাক এই ব্যাড আইপি, ব্যাখ্যাটি সহজ করতে ব্যবহৃত হয়েছে: 123.45.6.789

সমস্ত অঙ্ক এবং বিন্দুর জন্য আপনার অবশ্যই দুটি বিকল্প ব্যবহার করতে হবে: বিন্দুটি% 2E এবং 0..9% 30 ..% 39

RewriteEngine on
RewriteCond %{HTTP_HOST} (1|%31)(2|%32)(3|%33)(\.|%2E)(4|%34)(5%35)(\.|%2E)(6|%36)(\.|%2E)(7|%37)(8|%38)(9|%39)
RewriteRule . - [F]

কুরুচিপূর্ণভাবে, এটি {1,3 with দিয়ে হ্রাস করা যেতে পারে এবং বৈধ আইপি তে সংযত হতে পারে তবে এটি আপনার আইপি হিসাবে, এটি করার দরকার নেই।

": 80" এর মতো পোর্টগুলি ভুলে যাবেন না। HTTP_HOST এ এতে রয়েছে এবং SERVER_NAME নির্ভরযোগ্য নয়।

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