সমস্ত অস্বীকার করুন, এইচটিসেসের মাধ্যমে কেবল একটি আইপি অনুমতি দিন


156

আমি সমস্ত অস্বীকার করার চেষ্টা করছি এবং কেবলমাত্র একটি আইপি-র জন্য অনুমতি দেব। তবে, আমি নীচের এইচটিসেসটি সেই একক আইপির জন্য কাজ করতে চাই। আমি উভয়কেই কাজ করার কোনও উপায় খুঁজে পাচ্ছি না: সমস্ত অস্বীকার করুন এবং কেবলমাত্র একটিকে মঞ্জুরি দিন, নীচের বিকল্পগুলি:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

এই কাজ করার কোন উপায় আছে?

উত্তর:


356
order deny,allow
deny from all
allow from <your ip> 

95
বিঃদ্রঃ! Htaccess এ স্পেসের জন্য অ্যাপাচি সংবেদনশীল। অস্বীকার করার মধ্যে কোনও স্থানকে অনুমতি দেবেন না, অনুমতি দিন। অর্থাৎ আদেশ অস্বীকার করবেন না, অনুমতি দিন।
এইচ.রাবি

2
তথ্য: - এটি আইপিভি 6 এর জন্যও কাজ করে! allow from yourIPv6
31:51

এটি কি এনজিনেক্সে সম্ভব?
shgnInc


4
@ এমএ-মাদদিন যেমন উল্লেখ করেছেন, - তারপরে মোড_স্যাক্সেস_কম্প্যাট অবমূল্যায়ন করা হবে। এই পোস্টটি নতুন সংস্করণগুলিতে কীভাবে করবেন তা দেখায়। এবং একটিটিও বিবেচনা করা উচিত, যদি সার্ভার কোনও প্রক্সি ব্যবহার করে, তবে এটি তখন দর্শকের জন্য প্রক্সি-আইপি প্রদর্শন করবে display এই পোস্টে যে একটি সমাধান প্রস্তাব।
Zeth

115

আমি জানি এই প্রশ্নের ইতিমধ্যে একটি স্বীকৃত উত্তর রয়েছে, তবে অ্যাপাচি ডকুমেন্টেশন বলে:

Mod_access_compat দ্বারা সরবরাহিত মঞ্জুর করুন, অস্বীকার করুন এবং আদেশ নির্দেশাবলী অবহেলা করা হয়েছে এবং ভবিষ্যতের সংস্করণে চলে যাবে। আপনার এগুলি ব্যবহার করা এড়ানো উচিত এবং তাদের ব্যবহারের সুপারিশকারী পুরানো টিউটোরিয়ালগুলি এড়ানো উচিত।

সুতরাং, আরও ভবিষ্যতের প্রমাণের উত্তরটি হ'ল:

<RequireAll>
    Require ip xx.xx.xx.xx yy.yy.yy.yy
</RequireAll>

আশা করি, আমি এই পৃষ্ঠাটিকে সেই "পুরানো টিউটোরিয়াল" র একটি হতে আটকাতে সহায়তা করেছি। :)


আমরা আমাদের আইপি কোথায় রাখি?
গ্যারি কার্লাইল কুক

1
যাওয়ার পথে! এটি সমাধান হিসাবে গ্রহণযোগ্য হওয়া উচিত কারণ এটি কেবল কাজ করে না বরং সময় প্রতিরোধীও হয়।
6opko

অন্য উত্তর আমার পরিস্থিতিতে সাহায্য করেনি। কিন্তু এই এক করেছে। একটি পুরানো থ্রেড আপডেট করার জন্য ধন্যবাদ।
জোহান ডাইক

1
এই উত্তরের উদাহরণটি দুটি আইপি থেকে অ্যাক্সেসের অনুমতি দেয়? সুতরাং, একাধিক আইপি যুক্ত করতে আমরা কেবল তাদের মধ্যে একটি স্পেস রেখেছি? Require ipএটিকে আরও ব্যবহারকারীকে পঠনযোগ্য করে তুলতে আপনি একাধিক লাইনে লাগাতে পারেন বা সমস্ত আইপি এক লাইনে থাকতে হবে?
হাসটিগ জুসামেনস্টেলেন

আপনি যদি এটি ব্যবহার করেন তবে উত্তরগুলির মতো আপনি কীভাবে কোনও নতুন টেম্প পেজে পুনর্নির্দেশ করবেন?
rudtek

39

এই কাজের জন্য ডিজাইন করা নির্দেশিকা ব্যবহার করে এটি উন্নত করা যেতে পারে।

ErrorDocument 403 /specific_page.html
Order Allow,Deny
Allow from 111.222.333.444

যেখানে 111.222.333.444 হল আপনার স্থির আইপি ঠিকানা।

"আদেশের অনুমতি দিন, অস্বীকার করুন" নির্দেশিকাটি ব্যবহার করার সময় অনুরোধগুলির সাথে মঞ্জুরি বা অস্বীকারের সাথে মিল থাকতে হবে, যদি উভয়ই পূরণ না হয় তবে অনুরোধটি অস্বীকার করা হবে।

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order


1
কীভাবে আকসটম ইউআরএল যুক্ত করবেন?
সেকেন্ডসাইট

32

উপরের সামান্য পরিবর্তিত সংস্করণ, কাস্টম পৃষ্ঠা সহ যাঁরা অ্যাক্সেস প্রত্যাখ্যান করেন তাদের কাছে প্রদর্শিত হবে:

ErrorDocument 403 /specific_page.html
order deny,allow
deny from all
allow from 111.222.333.444

... এবং সেই ভাবে এই অনুরোধগুলি 111.222.333.444 থেকে আসছে না তারা সুনির্দিষ্ট_পৃষ্ঠা html দেখতে পাবে

(মন্তব্যটি পোষ্টটি ভয়ঙ্কর বলে মনে হচ্ছে কারণ নতুন লাইনগুলি হারিয়ে গেছে)


ওহে. আমার .htaccess এ আপনার কাছে ঠিক একই কোড রয়েছে তবে আমি 500 ত্রুটি পেয়ে যাচ্ছি। আমি নির্দিষ্ট পৃষ্ঠাটি বলা test.htmlহয় এবং এটি একই ফোল্ডারে .htaccess। তবে, আমি লগগুলি দেখতে পাচ্ছি না (সার্ভার থেকে অনুমোদিত নয়)। আমার কেন এমন সমস্যা হতে পারে তা কি আপনার কোনও ধারণা আছে? আমি যখন কোনও এফটিপি ক্লায়েন্টের মাধ্যমে ফাইলের পাথ পাচ্ছি তখন এটি আমাকে বলে /test.htmlযে পথটি কোনও সমস্যা হওয়া উচিত নয়, তাই না?
মাস্টারকনাবে

এছাড়াও, 500 টি ত্রুটি তখনও আসে যখন আমার সাথে এররডোকোমেন্টের সাথে মন্তব্য করা থাকে। সুতরাং যে সমস্যা হওয়া উচিত নয়। অন্যান্য 3 লাইন কাজ করতে না পারার কারণ আছে? আমার .htaccess এ আমার আরও তিনটি লাইন রয়েছে, যেখানে আমি অ-wwwকে www এ পুনঃনির্দেশ করি, তবে এটি। তবে আমি কেবল ত্রুটিটি পাচ্ছি যখন আমার কাছে অস্বীকার, অনুমতি ইত্যাদির তিনটি লাইন থাকবে
Musterknabe

আকসটম ইউআরএল কিভাবে যুক্ত করবেন?
সেকেন্ডসাইট

8

পূর্ববর্তী উত্তরগুলিকে আরও কিছুটা উন্নতি করে, সাইটটিতে পরিবর্তনগুলি সম্পাদন করার সময় একটি রক্ষণাবেক্ষণ পৃষ্ঠা আপনার ব্যবহারকারীদের দেখানো যেতে পারে:

ErrorDocument 403 /maintenance.html
Order Allow,Deny
Allow from #.#.#.#

কোথায়:


আমি যখন ত্রুটি ডকুমেন্ট 403 ব্যবহার করি তখন আমি সেই রক্ষণাবেক্ষণ html ফাইলটির জন্য একটি অতিরিক্ত 403 ত্রুটি পাই কারণ এটি ফাইলটি অ্যাক্সেসও করতে পারে না। আপনার কি এর সমাধান আছে?
জেড্রাভকো ডোনেভ

3

@ ডেভিড ব্রাউন এর উত্তর ছাড়াও, আপনি যদি কোনও আইপি ব্লক করতে চান তবে আপনাকে প্রথমে অবশ্যই সমস্ত আইপিগুলি ব্লক করার অনুমতি দিতে হবে:

    <RequireAll>
      Require all granted
      Require not ip 10.0.0.0/255.0.0.0
      Require not ip 172.16.0.0/12
      Require not ip 192.168
    </RequireAll>

First line allows all
Second line blocks from 10.0.0.0 to 10.255.255.255
Third line blocks from 172.16.0.0 to 172.31.255.255
Fourth line blocks from 192.168.0.0 to 192.168.255.255

আপনার সিআইডিআর প্রয়োজন অনুসারে আপনি উপরে বর্ণিত কোনও স্বরলিপি ব্যবহার করতে পারেন।


ধন্যবাদ, এটি অ্যাপাচি ২.৪ সাথে কাজ করার উপযুক্ত উপায়!
আলেকসান্দার পাভিয়

2

আপনি আপনার সাইটে অ্যাক্সেসের অনুমতি এবং অস্বীকার করতে এইচটিসিএক্সে নিম্নলিখিতটি ব্যবহার করতে পারেন:

SetEnvIf remote_addr ^1\.2\3\.4\.5$ allowedip=1

Order deny,allow
deny from all
allow from env=allowedip

ক্লায়েন্ট আইপি ঠিকানাটি প্যাটার্নের সাথে মেলে যদি আমরা প্রথমে একটি এনভেরি ভেরিয়েবল অনুমতিপ্রযুক্ত সেট সেট করি , যদি প্যাটার্নটি মেলে তবে এনভ ভেরিয়েবল অনুমতিপ্রাপ্ত মানটি 1 নির্ধারিত হয় ।

পরবর্তী পদক্ষেপে, আমরা অনুমতি দিন এবং সাইটে অ্যাক্সেসকে অস্বীকার করার নির্দেশকে অস্বীকার করি। Order deny,allowক্রম প্রতিনিধিত্ব করে denyএবং allowdeny from allএই লাইনটি সার্ভারকে সবাইকে অস্বীকার করতে বলে। শেষ লাইনটি allow from env=allowedipএকটি একক আইপি ঠিকানার অ্যাক্সেসের অনুমতি দেয় যার জন্য আমরা এনভেরি ভেরিয়েবল সেট করি।

1\.2\.3\.4\.5আপনার অনুমোদিত আইপি ঠিকানা দিয়ে প্রতিস্থাপন করুন ।

রেফারেন্স:


1
324.234.22.1 থেকে কেবল মঞ্জুরি দেওয়ার পরিবর্তে এটি ব্যবহারের পক্ষে কী কী?
বেরি এম

2

আমি 403 পদ্ধতিটি ব্যবহার করতে পারিনি কারণ আমি আমার সার্ভারে একটি সাব ফোল্ডারে রক্ষণাবেক্ষণ পৃষ্ঠা এবং পৃষ্ঠার চিত্রগুলি চেয়েছিলাম, সুতরাং প্রত্যেকের জন্য একটি 'রক্ষণাবেক্ষণ পৃষ্ঠায়' পুনর্নির্দেশের জন্য নীচের পদ্ধতিটি ব্যবহার করেছি তবে একটি আইপি *

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !**.**.**.*
RewriteRule !^maintenance/ http://www.website.co.uk/maintenance/ [R=302,L]

উত্স: আপনার ওয়ার্ডপ্রেস ব্লগটি আড়াল করার জন্য একটি হোল্ডিং পৃষ্ঠা তৈরি করা হচ্ছে


এই সমাধানটি সবচেয়ে সহজ - আমি এটিকে পছন্দ করি
জিফ্রিড্রি

1

আপনার একাধিক আইপি বা এমনকি অন্য কোনও ধরণের ব্যবহারকারী যেমন, হোস্টনাম, ... আরও তথ্যের অনুমতি থাকতে পারে এখানে https://www.askapache.com/htaccess/setenvif/

SetEnvIf remote_addr ^123.123.123.1$ allowedip=1
SetEnvIf remote_addr ^123.123.123.2$ allowedip=1
SetEnvIf remote_addr ^123.123.123.3$ allowedip=1
SetEnvIf remote_addr ^123.123.123.4$ allowedip=1

Order deny,allow
deny from all
allow from env=allowedip

0

অ্যাক্সেস কন্ট্রোলের জন্য যদি আপনি মোড_উইরাইট ব্যবহার করতে চান তবে আপনি ব্যবহারকারী এজেন্ট, এইচটিপি রেফারার, রিমোট অ্যাডারের মতো শর্তটি ব্যবহার করতে পারেন

উদাহরণ

RewriteCond %{REMOTE_ADDR} !=*.*.*.* #you ip address
RewriteRule ^$ - [F]

Refrences:


0

.Htaccess ফাইলে নিম্নলিখিত কমান্ডটি যুক্ত করুন। এবং এই ফাইলটি আপনার এইচডিডোকস ফোল্ডারে রাখুন।

Order Deny,Allow
Deny from all
Allow from <your ip> 
Allow from <another ip> 

0
ErrorDocument 403 /maintenance.html
Order Allow,Deny
Allow from #:#:#:#:#:#

আমার জন্য, এটি কাজ করে বলে মনে হচ্ছে (আইপিভি 4 এর পরিবর্তে আইপিভি 6 ব্যবহার করে) আমি জানি না যে এটি কোনও ওয়েবসাইটের জন্য আলাদা তবে এটি আমার জন্য কাজ করে।

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