Saya mencoba menolak semua dan hanya mengizinkan satu IP. Tapi, saya ingin htaccess berikut berfungsi untuk IP tunggal itu. Saya tidak menemukan cara untuk membuat keduanya berfungsi: tolak semua dan biarkan hanya satu, ditambah opsi berikut:
<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>
Apakah ada cara untuk membuat ini berfungsi?
allow from yourIPv6
Saya tahu pertanyaan ini sudah memiliki jawaban yang diterima, tetapi dokumentasi Apache mengatakan:
Jadi, jawaban yang lebih tahan masa depan adalah:
Semoga, saya telah membantu mencegah halaman ini menjadi salah satu dari "tutorial yang ketinggalan zaman". :)
sumber
Require ip
beberapa baris untuk membuatnya lebih mudah dibaca pengguna atau apakah semua IP harus berada pada satu baris?Ini dapat ditingkatkan dengan menggunakan arahan yang dirancang untuk tugas itu.
Di mana 111.222.333.444 adalah alamat IP statis Anda.
Saat menggunakan arahan "Pesanan Boleh, Tolak" permintaan harus cocok dengan Boleh atau Tolak, jika tidak ada yang dipenuhi, permintaan ditolak.
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order
sumber
Versi modifikasi di atas sedikit, termasuk halaman khusus untuk ditampilkan kepada mereka yang mendapat akses:
... dan dengan cara itu permintaan tersebut tidak datang dari 111.222.333.444 akan melihat specific_page.html
(memposting ini sebagai komentar tampak mengerikan karena baris baru hilang)
sumber
test.html
dan berada di folder yang sama dengan.htaccess
. Namun, saya tidak dapat melihat log (tidak diizinkan dari server). Apakah Anda tahu mengapa saya bisa mengalami masalah itu? Ketika saya mendapatkan path file melalui klien ftp itu memberitahu saya/test.html
jadi path seharusnya tidak menjadi masalah, kan?Meningkatkan sedikit lebih banyak jawaban sebelumnya, halaman pemeliharaan dapat ditampilkan kepada pengguna Anda saat Anda melakukan perubahan pada situs:
Dimana:
#.#.#.#
adalah IP Anda: Apa Alamat IP Saya?maintenance.html
ada contoh yang bagus di sini: Simple Maintenance Pagesumber
Selain jawaban @ David Brown, jika Anda ingin memblokir IP, Anda harus terlebih dahulu mengizinkan semua lalu memblokir IP seperti itu:
Anda dapat menggunakan salah satu notasi yang disebutkan di atas untuk memenuhi kebutuhan CIDR Anda.
sumber
Anda dapat menggunakan yang berikut ini di htaccess untuk mengizinkan dan menolak akses ke situs Anda:
Kami pertama-tama mengatur variabel env allowip jika alamat ip klien cocok dengan pola, jika pola cocok dengan maka env variabel allowip diberi nilai 1 .
Pada langkah berikutnya, kami menggunakan Bolehkan, tolak arahan untuk mengizinkan dan menolak akses ke situs.
Order deny,allow
mewakili urutandeny
danallow
.deny from all
baris ini memberi tahu server untuk menolak semua orang. baris terakhirallow from env=allowedip
memungkinkan akses ke satu alamat ip yang kita atur untuk variabel env.Ganti
1\.2\.3\.4\.5
dengan alamat ip yang diizinkan.Refrences:
https://httpd.apache.org/docs/2.4/mod/mod_setenvif.html
https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html
sumber
Saya tidak dapat menggunakan metode 403 karena saya ingin halaman pemeliharaan dan gambar halaman dalam sub folder di server saya, jadi gunakan pendekatan berikut untuk mengarahkan ke 'halaman pemeliharaan' untuk semua orang kecuali satu IP *
Sumber: Membuat halaman holding untuk menyembunyikan blog WordPress Anda
sumber
Anda dapat memiliki lebih dari satu IP atau bahkan beberapa jenis izin lainnya seperti pengguna, nama host, ... info lebih lanjut di sini https://www.askapache.com/htaccess/setenvif/
sumber
Jika Anda ingin menggunakan mod_rewrite untuk kontrol akses Anda dapat menggunakan kondisi seperti agen pengguna, pengarah http, addr jarak jauh dll.
Contoh
Refrences:
sumber
Tambahkan perintah berikut dalam file .htaccess. Dan tempatkan file itu di folder htdocs Anda.
sumber
Bagi saya, ini sepertinya berfungsi (Menggunakan IPv6 daripada IPv4) Saya tidak tahu apakah ini berbeda untuk beberapa situs web tetapi untuk saya ini berfungsi.
sumber