(Saya sadar bahwa keamanan melalui ketidakjelasan tidak disarankan).
Saya mencoba menyembunyikan fakta bahwa saya menggunakan Wordpress. Ini posting membantu, tapi hanya membahas isi (semacam). Saya tertarik memiliki yang berikut terjadi:
Pengguna mencoba mengakses url apa pun
wp*
sebagai substring melalui browser mereka.Hasil: Diarahkan ke 404 halaman.
Pengguna blog / administrator tahu untuk masuk, mereka harus masuk
http://example.com/blogin/
.Hasil: apache mengarahkan mereka ke
http://example.com/wp-admin/
.Jika pengguna mencoba mengakses secara langsung
wp-admin
dari peramban, mereka akan dikirim ke # 1.Hasil: Diarahkan ke 404 halaman.
Hal-hal yang telah saya lakukan sejauh ini
Saya perhatikan untuk instalasi WordPress standar bahwa saya dapat mengakses
wp*
file di direktori root (relatif) dari instalasi WP. Khususnyawp-settings.php
bermasalah karena memberikan informasi tentang pengaturan saya. Jika pengguna mengaksesnya, itu akan memuntahkan beberapa kesalahan PHP dan mengungkapkan bagian dari struktur direktori. Saya mengedit file php.ini saya untukdisplay_errors
mematikan. Sekarang mengakseshttp://example.com/wp-settngs.php
menampilkan halaman kosong.Ini sendiri tidak ideal karena mengungkapkan yang
wp-settings.php
ada. Bahkan, mengakses semuawp*
file berbeda dimungkinkan (dengan hasil yang berbeda). Saya kemudian meletakkan yang berikut ini di file htaccess saya:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
Ini bekerja dengan baik! Apa pun dengan a
wp*
dialihkan ke halaman 404 khusus saya. Tetapi sekarang saya tidak dapat mengakses halaman admin saya.Aku mencoba memasukkan baris ini ke dalam kode di atas:
RewriteRule ^blogin wp-admin [NC,R,L]
. Seharusnya tepat setelah ituRewriteBase
tetapi ini tidak berhasil.Saya mencoba melakukan:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
berharap bahwa referer dari situs saya (melalui penulisan ulang aturan) akan dapat mengakses wp-admin, tetapi bukan seseorang dari luar. Ini juga tidak berhasil. apache mengeluh bahwa Anda tidak dapat menggunakan arahan ini dari htaccess.
Saya sudah membaca dokumentasi apache; Saya mengerti konsep-konsepnya, secara teori, tetapi saya butuh bantuan praktis.
EDIT: Saya mencari solusi yang menggunakan .htaccess daripada httpd.conf karena setup khusus saya membuat menggunakan httpd.conf tidak konsisten.
sumber
Jawaban:
TLDR; Tidak mungkin mengaburkan WordPress dengan hanya menggunakan arahan dalam file .htaccess Anda.
Sekarang datang kisah celaka dan kengerian. Teman kami, fbh benar tentang kesulitan menyembunyikan WordPress, itu bukan untuk pengecut berperut kuning. Arr! Inilah detail petualangan (salah) ini. Kamu diperingatkan!
Motivasi
Saya salah satu dari mereka yang menyukai hal-hal yang sempurna. Saya akan
menghabiskanwaktu untuk merekayasa sesuatu menjadi 'cara yang benar'. Salah satu hal yang saya tidak suka tentang pengaturan WordPress default adalah bahwa pengguna dapat mengetikkan http://ex.com/wp-settings.php dan kemudian semua jargon php ini akan dimuntahkan di semua tempat. Saya akhirnya bisa mematikan kesalahan melalui PHP tapi itu mengarah pada keinginan yang lebih besar untuk hanya memiliki hal-hal yang dibuat karena menjadi sumber daya yang dapat dilokalisasi dari server ... dan segala sesuatu yang lain akan 404 / 3'ified ke halaman pencarian kustom kami. Setelah itu saya mendapat ide bahwa saya ingin benar-benar menyembunyikan kerangka dasar (yaitu WP) ... lagian ... jika Anda ingin menyembunyikan WP itu mungkin. Tapi ini sangat sulit.Langkah menuju malapetaka Anda
Ubah pengaturan PHP Anda dengan tepat. (mis. matikan kesalahan tampilan) Anda mungkin berpikir ini tidak perlu karena jika kita menggunakan .htaccess untuk mengubah rute hal-hal, orang tidak akan melihat kesalahan karena mereka tidak dapat mengakses sumber daya yang menyebabkan kesalahan (saya melihat Anda
wp-settings.php
). Tetapi kesalahan dapat terjadi pada halaman yang ditampilkan, jadi Anda pasti ingin mereka mati. Hanya karenaWP_*
arahan ditetapkan tidak selalu berarti bahwa segala sesuatu akan bekerja seperti yang Anda pikirkan. Saya menemukan bahwa di server saya, saya harus mengatur display_errors menjadi FIRST palsu, karena WP_DISPLAY_ERRORS mengasumsikan bahwa pengaturan default salah.Mengontrol pengaturan PHP ini mungkin sesuatu yang sederhana seperti menempatkan arahan dalam file .htaccess Anda. Atau, dalam kasus saya, serumit membuat handler CGI dan kemudian meletakkan file php.ini di sana. YMMV tergantung pada pengaturan Anda.
Hapus semua akses ke file / direktori dengan
wp-
awalan. Idenya adalah bahwa penyebaran WP Anda adalah tentang konten Anda, bukan tentang WP (kecuali jika itu khusus difokuskan pada WP). Tidak masuk akal jika orang ingin melihat apa yang dimiliki http; // ex.com/wp-cron.php ... kecuali mereka yang tidak bagus. Saya menyelesaikan ini melalui ini:Pelajari cara melewati mordor Dengan menghapus semua akses,
wp-*
Anda tidak dapat lagi mendapatkan akses ke bagian administrasi WP. Itu sangat menyebalkan. Selain downer itu, Anda baru menyadari bahwa Anda tidak tahu apa yangRewriteCond %{ENV:REDIRECT_STATUS} ^$
sebenarnya terjadi. Yah, yang saya coba lakukan adalah memberi diri saya 'rahasia' pintu belakang ke halaman admin WP. Saya menggunakan kode ini:Jadi URL: http://ex.com/mordor akan membawa kita ke halaman login. Alasan mengapa kami memiliki
REDIRECT
baris pada langkah di atas adalah karena URL ini ditulis ulang menjadiwp-*
URL, kami tidak ingin aturan penulisan ulang pertama mendapatkannya. Karena sedang dialihkan secara internal,REDIRECT_STATUS
akan diatur dengan benar dan itu tidak akan mendorong kita ke tanah 403/4.Hapus konten-wp Wordpress.stackexchange memiliki artikel bagus tentang menghapus konten-wp. Anda harus mendefinisikan kembali beberapa konstanta WP dan itu cukup banyak berfungsi. Anda juga harus mengalihkan semua akses dari
wp-content
ke 'konten apa pun`. Ini mungkin tidak akan menjadi masalah jika ini adalah penyebaran yang bersih. Jika Anda memodifikasi penyebaran yang sudah ada, Anda harus melakukan beberapa hal tambahan.Menulis ulang URL menjadi konten-wp opsional
RewriteRule (.*)(wp-content)(.*) $1whatever-content$3 [NC,R,L]
. Ini berlaku di file .htaccess Anda. Jika pengguna Anda mencoba mengakses beberapa konten lama melaluiwp-content
URL, itu akan dialihkan ke sini.Raih dan ganti semua referensi ke konten-wp di DB opsional Anda . Anda masih memiliki
wp-content
di database Anda. Jika Anda ingin WP gratis, Anda harus menyingkirkan barang-barang itu. Saya mengekspor / mysql membuang database saya, melakukan pencarian dan mengganti padawp-content
string ke string baru. Anda mungkin berkata ... mengapa saya harus melakukan ini jika apache akan menulis ulang URL saya? Masalahnya adalah bahwa kode sumber akan berisi referensi ini jadi jika Anda benar-benar tertarik mengaburkan WordPress, Anda perlu melakukan ini. Catatan: Pada titik ini saya seharusnya berhenti dan menerima kenyataan bahwa ini tidak akan berhasil. Tapi saya ingin Mr. T mengasihani saya.Ganti semua referensi ke
wp-includes
danwp-admin
di sumber. Banyak fungsi WordPress tergantung pada dua direktori ini:wp-includes
danwp-admin
. Ini berarti nama direktori ini di-hardcode dalam kode sumber. Ini berarti bahwa Anda harus membuat direktori baru (karena PHP menggunakan sistem file OS yang mendasarinya, bukan apache) untuk mengaksesnya dan kemudian MENULIS INI ke dalam html yang dipancarkan. Ini terlalu banyak masalah. Aku cepat menyerah dan pergi ke kamar mandi untuk buang air besar.Pelajaran
Tentu, saya bisa saja membaca http://codex.wordpress.org/Hardening_WordPress dan mengikuti langkah-langkah itu. Tetapi saya menginginkan situs yang sempurna. Sekarang saya hanya ingin semua jam itu kembali. Hal terbesar yang mencegah saya untuk berhenti adalah bahwa saya tidak membaca di mana pun di internet bahwa ini banyak pekerjaan dan hampir tidak mungkin dilakukan. Sebaliknya saya membaca tentang orang-orang yang mencoba melakukannya tanpa rasa apakah mereka berhasil atau tidak. Jadi, bagi diri saya dulu, yang akan saya kirimi ini melalui Apple Time Machine, tolong jangan mencoba dan mengaburkan WordPress. Itu tidak layak.
sumber
wp-includes
danwp-admin
teks secara manual. Saya cukup yakin Anda melihat setiap file dan diganti secara manual. Itu karena Anda melewatkan beberapa perangkat lunak berguna yang berguna. Misalnya Anda bisa mencoba grepwin yang membuat pekerjaan itu lebih mudahJika Anda mencoba menyembunyikan bahwa Anda menggunakan wordpress karena cracker, maka Anda benar-benar harus melakukan beberapa pekerjaan. Jika Anda melakukan trik wp *, bagaimana dengan konten-wp dan termasuk-wp? Tanpa bisa menjangkau mereka, Anda akan merusak halaman dan itu akan terlihat mengerikan.
Juga, ada begitu banyak hal di Wordpress sehingga ini benar-benar membutuhkan beberapa pekerjaan - dan Anda kemungkinan besar harus melakukan banyak hal lagi ketika upgrade diinstal. (Karena beberapa pengalihan di Apache tidak akan melakukan trik)
Jika Anda hanya berusaha menyembunyikannya dari Tn. Dan Ny. Semua orang, maka tentu saja Anda harus bisa melakukannya dengan tidak jelas.
Sudahkah Anda membaca panduan "pengerasan Wordpress"? Jika tidak, Anda harus memeriksanya: http://codex.wordpress.org/Hardening_WordPress Ini memberikan pengantar yang bagus untuk banyak hal yang dapat Anda lakukan.
Juga, jika Anda ingin menyembunyikan fakta bahwa Anda menggunakan Wordpress, mengapa menggunakannya?
sumber
Coba lakukan konfigurasi Anda di konfigurasi apache. Ini bisa termasuk file seperti
/etc/wordpress/htaccess
. Ini akan memungkinkan Anda menggunakanDirectory
arahan konfigurasi. Namun Anda harus memulai ulang apache untuk memuat perubahan. Gunakan restart yang anggun jika Anda tidak ingin gangguan layanan.Untuk membatasi akses direktori dengan
.htaccess
file, mereka harus berada di direktori yang sesuai. Fungsinya sangat mirip dengan isi dariDirectory
direktif konfigurasi. Anda mungkin perlu mengaktifkan.htaccess
opsi yang diperlukan dalam konfigurasi apache Anda. Metode ini tidak seefisien menggunakan perintah dalam konfigurasi apache karena perlu sering diulang.sumber
.htaccess
file di direktori yang cocok. Catatan: Apache menyarankan Anda menggunakan konfigurasi jika memungkinkan. Gunakan kontrol versi untuk menjaga terhadap overwrites.