it-swarm.asia

Wp-admin klasörünü yeniden adlandırabilir miyim?

Wp-admin klasörünü yeniden adlandırmak mümkün müdür?

Bunu yeniden adlandıracağımı biliyorum, ancak kodla desteklenmediği sürece birçok şey bozulur.

Özel bir klasör adı kullanırsam, gizlilik ve benzeri şeylerle güvenliği biraz daha güvenli kılar.

69
Adam Dempsey

Maalesef şu anda mümkün değil ve bunun wp-bilgisayar korsanları listesindeki son konu ve trac'teki bu bilet tarafından görebileceğiniz gibi bir değişiklik olarak kabul edilebileceği görülüyor.

Bunun tekrar gözden geçirilmesini gerçekten görmek istersen şunu öneririm:

  1. Davanızı tanıtın wp-hacker'larda ama kullanım durumunuz için önceden uyarılmış olsanız iyi olur ve "belirsizlik yoluyla güvenlik" olmasa iyi olur ya da yukarıdaki gibi düşürülecek.

  2. Argümanınızı aynı uyarılarla bir trac bilet içinde sunun.

  3. Daha da iyisi, istediğiniz işlevselliği sağlayan trac'e bir yama yükleyin. İşin daha önce yapıldığı zamanlarda hayır demek daha zordur (ama elbette, "evet" demekten çok daha sık "hayır" demeyi tercih ederler, bu yüzden uyarılmalıdır.)

38
MikeSchinkel

Hayır, klasörü yeniden adlandıramazsınız. Yol, WordPress'in kaynağı boyunca birden fazla konumda kodlanmıştır.

Müstehcenlik yoluyla güvenlik zaten güvenlik değildir.

11
Viper007Bond

İnsanlar bu soruyu sormaya devam ediyor, ancak insanlar bunu bir kopya olarak işaretlemeye devam ediyor. Ancak bunun için seçilen cevap, sorunun gerçekten bir cevabı değil.

WordPress admin'i yeniden adlandırmak için iki adım atmanız gerekir.

Aşağıdaki kodda, yeni wp-admin'imin adı olarak gösterge tablosunu kullanıyorum. Aşağıdaki koddaki gösterge tablosunu yeni yöneticinize adlandırmak istediğiniz şekilde değiştirin.

İlk önce wordpress'e yönetici url'sini değiştirmek istediğinizi söylemelisiniz.

2558 satırında wp-include/link-template.php , yönetici URL'sini dertermines yapan koddur.

admin_url filtresini kullanarak, admin'in url'sini aşağıdaki işlevle başarılı bir şekilde değiştirebilirsiniz:

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Yeni URL’nizin ne olduğunu görmek için bunu yaparak test edebilirsiniz:

function whats_my_admin_url() {
    $url = admin_url();
    echo '<pre><code>'; print_r( $url ); echo '</code></pre>';
    }
add_action( 'admin_notices', 'whats_my_admin_url' );

Ancak, yönetici tıklandığında her şeyin işe yaramadığını ve bağlantıların bazılarının 404 bulunamadığını veya benzer bir şey verebileceğini fark ederseniz.

İkincisi, wordpress kök dizininizdeki .htaccess kodunu değiştirin ve başka bir şeyden önce başlangıçtakileri ekleyin.

#CUSTOM ADMIN URL REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

Şimdi, htaccess düzenleme konusunda uzman değilim, bu yüzden bunlardan bazıları gerekli olmayabilir. Ancak, çalışmamayı asla bulamadım.

İşte her şey. Bir dosya oluşturun ve eklentiler klasörünüze veya mu-plugins klasörünüze bırakın. (her pano örneğini tercih ettiğiniz yönetici URL'sine değiştirmeyi unutmayın)

<?php
/**
 * Plugin Name: Change My Admin URL
 * Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Description: Changes the admin url where wp-admin becomes dashboard (or whatever you change it to)
 * Version: 1.0
 * Author: Bryan Willis
 * Author URI: http://profiles.wordpress.org/codecandid
 * License: GPL2
 */

/* 

#CUSTOM ADMIN URL REWRITE FOR HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

*/

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Sorun mu?

Bu metodu kullanarak bir yılı aşkın bir süredir kullanmadım. Wp-admin'in hala ne tür bir berbat işleyeceğini farkedebilirsiniz, ancak bu her şeyden çok bir önlemdir. Wp-admin'i engellemeye veya yönlendirmeye çalışırken yüklenmeyecek bazı yerlerde wp-admin kodunu yazan bazı kötü yazılmış eklentilerim vardı. Bunu htaccess ile yapmanın bir yolu olduğundan eminim, ama başarılı bir şekilde çözemedim. Ayrıca, bu multisite veya hiç böyle bir şey üzerinde test edilmemiştir.

Güncelleme: Alternatif Yaklaşım

Bu oldukça benzer, ancak nedense yukarıdaki cevabım denediğim her Sunucuda işe yaramadı.

.htaccess'a ekle

RewriteRule ^admin/(.*) wp-admin/$1?%{QUERY_STRING} [L]

new-admin.php adlı mu-plugins klasöründe bir dosya oluşturun ve buraya ekleyin:

<?php
define('WP_ADMIN_DIR', 'admin');
defined('SITECOOKIEPATH') || define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

add_filter('site_url',  'wpadmin_filter', 10, 3);
 function wpadmin_filter( $url, $path, $orig_scheme ) {
  $old  = array( "/(wp-admin)/");
  $admin_dir = WP_ADMIN_DIR;
  $new  = array($admin_dir);
  return preg_replace( $old, $new, $url, 1);
}

Not: Bu yaklaşım bazı ev sahiplerinde daha iyi çalışıyor gibi gözükse de, wp-admin bağlantılarını yeni yönetici url'sine yönlendirmeme sorunu vardı. İşte aşağıda denediğim bir yaklaşım.bu aşağıda işe yaramazbence doğru yolda. Hangi kancanın kullanılacağından emin değilim. Htaccess daha iyi bir alternatif olabilir ama ben bu şekilde denediğimde yönlendirici döngüler elde etmeye devam ettim.

add_action('init', 'redirect_wp_admin_url_to_404');
function redirect_wp_admin_url_to_404(){
  $redirect_to = $_SERVER['REQUEST_URI'];
  if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
    $redirect_to = $_REQUEST['redirect_to'];
    $check_wp_admin = stristr($redirect_to, 'wp-admin');
    if($check_wp_admin){
      wp_safe_redirect( '404.php' );
    }
  }
}
11
Bryan Willis

Resmen WordPress tarafından desteklenen bir yaklaşım, WordPress kurulum dosyalarının bir alt dizine taşınması ve sitenin kökünde tutulmasıdır.

Site URL'si: http://my-blog.com

Yönetici URL'si: http://my-blog.com/7nxnkkugrdzm/wp-admin

Bu, yönetici url'nizi değiştirme konusunda size tam bir özgürlük vermese de, prefix ile istediğiniz bir şey yapabileceğiniz anlamına gelir. Bu, güvenlik açısından da iyidir. Ayrıca, tüm WordPress kurulum dosyalarını kullanıcılar tarafından bilinmeyen bir yere taşıma avantajına sahiptir, bu nedenle herhangi bir wordpress sertleştirme stratejisinin bir parçası olmalıdır.

WordPress Kodeksinden: WordPress'e Kendi Dizini Vermek

Ayrıca, bu güvenlik şemasına Gizli URL adı verilirken, bunun belirsizliğe göre güvenlik ile aynı olmadığını unutmayın. Gizli URL, bir şifre kadar iyi olan mükemmel bir geçerli güvenlik şemasıdır, belirsizliğe göre güvenlik gizli kanıtlanmamış prosedürleri kullanmaya dayanır.

Aynı uyarılar parolalarda olduğu gibi uygulanır: Özel klasöre 7nxnkkugrdzm değil, happy-snappy-admin gibi bir şey çağırın. Ayrıca, kullanıcılarınızın yönetici URL'sinin bir sır olduğunu bildiğinden emin olun.

9
cmc

Bu konuda gerçekten çok iyi bir eğitim var:

WordPress Bilgilerini Kaynak Kodunuzdan Nasıl Gizleyebilirsiniz? ayna

Wp içeriğinin nasıl yeniden adlandırılacağı, wp-admin'in yeniden adlandırılması ve generator etiketinin WordPress'ten nasıl çıkarılacağı dahildir.

Bu eğitimde, kaynak kodunuzdaki açık kanıt veya göstergeler değişecek, WordPress bilgilerini sitenizden etkin bir şekilde kaldırma .

Bu, klasör adının, wp-admin giriş URL'sinin nasıl değiştirileceğini ve login.php'nin, insanların doğrudan oraya gidebilmesi için ana siteye yönlendirildiğinden emin olduğunu açıklar.

7
Graeme

Abone düzeyinde kullanıcıların wp-admin dizinini görmesini engellemek istiyorsanız, giriş/kayıt ve profil/düzenleme sayfalarının kendi sürümlerinde bağımsız sürümleri oluşturabilirsiniz. Ardından, yönetici klasörünüzü htaccess veya IP kısıtlamasıyla koruyabilirsiniz. (Bunu yaparsanız da, admin-ajax dosyası için bir istisna yapmalısınız, çünkü bazı eklentiler onu um, AJAX işlevselliği eklemek için kullanırlar).

Bu yaklaşım, istediğiniz "belirsizliği" sağlar (bu gerçekten çok fazla bir şey yapmaz, ancak müşterileri ve yöneticileri daha iyi hissetmesini sağlar) ve ayrıca yöneticiye erişimi sınırlayarak gerçek bir güvenlik sağlar. Artı, dürüst olmak gerekirse, sadece "/ login" yazan bir URL "wp-login.php" den çok daha hoş görünüyor.

Bunun sitenizi kurşun geçirmez yapmadığını söylemeden geçmesi gerekir. Ama bu Güzel, temel bir geliştirme.

6
MathSmath

Yönetici kontrol panelini kilitlemenin bir yolu .htaccess kurallarını kullanmaktır. Wp-admin dizininin kök dizinine bir .htaccess dosyası eklemeniz yeterli. Bu dosyayı ekledikten sonra, tüm IP adreslerini reddetmek ve yalnızca IP adresinize izin vermek için aşağıdaki kuralı eklemeniz yeterlidir:

http://wp.tutsplus.com/tutorials/10-steps-to-securing-your-wordpress-installation/

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
whitelist address
allow from <IP ADDRESS HERE>
</LIMIT>
2
Josh

WordPress kurulumunuza ek güvenlik katmanı eklemek amacıyla wp-admin'i yeniden adlandırmak istiyorsanız, Roots/Bedrock WordPress Boilerplate komutunu deneyebilirsiniz. Web dışı dosyalara erişimi sınırlamak için web kökünün izole edilmesine yardımcı olabilir. Ayrıca, tüm WordPress çekirdeğini organize etmek/güvenceye almak için wp-content/to app///ve/veya bu ek özellikleri yeniden adlandırmak gibi kendi alt dizinine yerleştirerek yardımcı olabilir:

  • Composer ile bağımlılık yönetimi
  • Ortama özel dosyalar içeren kolay WordPress yapılandırması
  • Dotenv ile ortam değişkenleri
  • Mu eklentileri için otomatik yükleyici (mu eklentileri olarak normal eklentiler kullanın)
  • Gelişmiş güvenlik (web kökü ve wp-password-bcrypt ile güvenli şifreler)

Daha ayrıntılı bir kullanım için GitHub Repo seçeneklerini de kontrol edebilirsiniz:

1
Carl Alberto

IFRAME'DAN WP-ADMIN'DEN ÇALIŞMA HAKKINDA NE?

"Yönetici" adlı wp panosunda yeni bir sayfa yapın. örneğin: alan adınız/admin /

Şablonda gerekli olmayan şeyleri devre dışı bırakmak için header.phppage.php ve/veya footer.php ile bir vaka ifadesi yapabilirsiniz:

<?php
if(!is_page('admin')): //if not the admin page.

//wrap code not needed or wanted.

else: ?>

<style type="text/css">
    .responsive-iframe {
    position: relative;
    padding-bottom: 56.25%; /*16:9*/
    height: 0;
    overflow: hidden;

    iframe {
        position: absolute;
        top:0;
        left: 0;
        width: 100%; //or 100vw
        height: 100%; //or 100vh
    }
}   
</style>

<div class="responsive-iframe">
<iframe seamless="seamless" scrolling="yes" src="http://yourdomain/wp-admin/" frameborder="0" allowfullscreen></iframe>
</div>

<?php 
endif;

Bu hoş değil, ama en azından bir dereceye kadar wp-admin'i url'den gizleyebilirsiniz. Başka bir yol, alan adı iletmeyi maske URL'si etkin durumdayken kullanmaktır.

0
samjco

http://wordpress.org/extend/plugins/stealth-login/ 'a göz atın, bu size yardımcı olabilir.

0
edelwater

Hayır, wp-admin klasörünü herhangi bir kısa kod veya htaccess hackiyle yeniden adlandırmak mümkün değildir,

Geçmişte "wp-admin, wp-content ... etc" etiketi için Coda (kullandığım editör) üzerinden tam bir klasör araması yaparak bir müşteri için aynı şeyi yaptım ve "wp-" yi Dosyalar.

Bundan sonra yüklemek mümkün olacak ama:
Kurmak istediğiniz eklentilerle aynı şeyi yapmalısınız, "wp-" etiketini yeni sürümlerden temizleyerek çekirdeği elle güncellemelisiniz.

Size böyle bir şey yapmanızı önermediğim tüm yollarla, olduğu gibi bırakın ve kullanıcılarınıza/müşterilerinize daha iyi bir deneyim sunmak için Kullanıcı Girişi/Kayıt/Profil sayfasını uygulamaya çalışın.

Cristian Cozmolabs çok iyi bir rehber yazmış. Kodu biraz düzenleyebilir ve herhangi bir WordPress temasında çalışmasını sağlayabilirsiniz.

Ayrıca bir ön formdan bir Mesaj formu ekleyebilir, böylece Yönetici ve bir gönderi yazma Yeteneklerine sahip Kullanıcılar ön uçtan yapabilir.

Burada bir Frontend Post sayfasının nasıl oluşturulacağına dair bir örnek ve kod görebilirsiniz. Ön Uç Sonrası Gönderimi

Ayrıca bazı Nice eklentilerine buradan bakabilirsiniz daha fazla işlevsellik ile aynı şeyi yapar.

0
Philip