क्या मैं wp-admin फ़ोल्डर का नाम बदल सकता हूं?


69

क्या wp-admin फ़ोल्डर का नाम बदलना संभव है?

मुझे पता है कि मैं इसका नाम बदल सकता हूं, लेकिन जब तक यह कोड द्वारा समर्थित नहीं होता तब तक बहुत सारी चीजें टूट जाएंगी।

यदि मैं एक कस्टम फ़ोल्डर नाम का उपयोग करता हूं, तो यह अस्पष्टता और उस सब से थोड़ा अधिक सुरक्षित, सुरक्षा बना देगा।

जवाबों:


38

दुर्भाग्य से यह वर्तमान में संभव नहीं है और न ही ऐसा प्रतीत होता है कि इसे एक संशोधन के रूप में माना जाएगा जैसा कि आप इस हाल के थ्रेड द्वारा देख सकते हैं wp-hackers सूची और इस टिकट पर trac

यदि आप वास्तव में इसे देखना चाहते हैं तो मैं सुझाव देना चाहूंगा:

  1. अपने मामले को wp-hackers के सामने पेश करें लेकिन अपने उपयोग के मामले को बेहतर साबित करें और बेहतर हो कि "अस्पष्टता के माध्यम से सुरक्षा" या ऊपर की तरह गोली न चले।

  2. एक ही caveats के साथ एक trac टिकट में अपना तर्क प्रस्तुत करें ।

  3. इससे भी बेहतर, एक पैच अपलोड करें ट्रेक जो आपकी वांछित कार्यक्षमता को सक्षम करता है। यह कहना बहुत मुश्किल है कि जब काम पहले से ही किया गया है (लेकिन निश्चित रूप से, उनके पास "नहीं" कहने के लिए एक प्राथमिकता है कि वे "हाँ" कहने की तुलना में बहुत अधिक बार "हां" कहते हैं।)


10
+1 उनके पास "नहीं" कहने के लिए एक प्राथमिकता है, बहुत अधिक बार वे कहते हैं कि "हाँ" तो बहुत आगे बढ़ना है :)
सिसिर

11

नहीं, आप फ़ोल्डर का नाम नहीं बदल सकते। पूरे WordPress के स्रोत में कई स्थानों पर पथ हार्ड-कोडित है।

अश्लीलता के माध्यम से सुरक्षा वास्तव में वैसे भी सुरक्षा नहीं है।


21
और यह हार्ड प्रोग्रामिंग-कोडिंग मैजिक नंबर या स्ट्रिंग्स जैसी खराब प्रोग्रामिंग प्रथाओं को नहीं बदलने के लिए एक आलसी बहाना है।
हकरे

6
@hakre +100 Btw, अधिकांश लोग पूछते हैं कि "wp- *" फ़ोल्डरों को छिपाने के लिए आवश्यक रूप से सुरक्षा की तलाश नहीं है, वे वास्तव में अस्पष्टता की तलाश कर रहे हैं..वे अपनी साइटों को अधिक प्रयास-आवश्यक गतिविधि का विश्लेषण करने का प्रयास करें।
विक्टर फराजदगी

3
दरअसल, यह अस्पष्टता से सुरक्षा नहीं है। यह अस्पष्ट URL, एक वैध सुरक्षा तकनीक है। विवरण के लिए नीचे उत्तर देखें।
cmc

1
खैर, मैंने तर्कों के एक नए सेट के साथ अनुसरण करने की कोशिश की, लेकिन जवाब था: "यह पुस्तक में एक मजबूत अभिप्राय है" और बल्कि स्नॉट्टी "जीमेल लॉगिन isnt अस्पष्ट url या तो"। कोई तकनीकी कारण, कोई स्पष्टीकरण, कोई बहस नहीं, वे ऐसा नहीं करेंगे।
cmc

1
वर्डप्रेस जीमेल की तुलना में कहीं अधिक आदरणीय है। एक कारण है, वर्डप्रेस ओपन-सोर्स है। हर कोई कोड जानता है। अश्लीलता के माध्यम से सुरक्षा वास्तव में वैसे भी सुरक्षा नहीं है? लेकिन हम वर्डप्रेस के कोडर नहीं हैं। यह खुला-स्रोत है। मेरे विचार में, अस्पष्टता सुरक्षित बनाने में मदद करती है। लोग एन्क्रिप्टेड पासवर्ड का उपयोग क्यों करते हैं? इस तर्क के अनुसार, एन्क्रिप्शन पासवर्ड का कोई उपयोग नहीं है .... क्योंकि अगर डेटाबेस देखने योग्य है, तो हैकर कुछ भी कर सकता है ... मेरा वर्डप्रेस 2 बार और 2 बार मेरी कंपनी का वर्डप्रेस 10 में हैक किया गया है साल ... और मेरे 6-7 gmail खातों में से कोई भी अब तक 15 वर्षों में हैक नहीं हुआ है ...
web2students.com

11

लोग यह सवाल पूछते रहते हैं, लेकिन लोग इसे डुप्लिकेट के रूप में चिह्नित करते रहते हैं। हालांकि, इसके लिए चुना गया उत्तर वास्तव में प्रश्न का उत्तर नहीं है।

वर्डप्रेस एडमिन का नाम बदलने के लिए आपको दो कदम उठाने होंगे।

निम्नलिखित कोड में मैं अपने नए wp-admin के नाम के रूप में डैशबोर्ड का उपयोग कर रहा हूं। नीचे दिए गए कोड में डैशबोर्ड बदलें जिसे आप अपने नए व्यवस्थापक का नाम देना चाहते हैं।

सबसे पहले आपको वर्डप्रेस बताने की ज़रूरत है जिसे आप व्यवस्थापक url को बदलना चाहते हैं।

2558 लाइन पर wp- / link-template.php वह कोड है जो एडमिन url को नष्ट कर देता है।

admin_urlफ़िल्टर का उपयोग करके आप निम्न फ़ंक्शन के साथ व्यवस्थापक के url को सफलतापूर्वक बदल सकते हैं:

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

आप यह देखने के लिए परीक्षण कर सकते हैं कि ऐसा करने से आपका नया यूआरएल क्या है:

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' );

हालाँकि, यदि आप उस एडमिन से क्लिक करते समय नोटिस करेंगे कि सब कुछ काम नहीं करता है और कुछ लिंक आपको 404 न मिले या कुछ समान नहीं मिल सकता है।

दूसरा, अपने वर्डप्रेस रूट डायरेक्टरी में .htaccess को बदलें और कुछ और से पहले भीख मांगने में निम्न जोड़ें।

#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

अब, जब मैं संपादन करने की बात करता हूँ तो मैं कोई विशेषज्ञ नहीं हूँ। इसलिए इसमें से कुछ आवश्यक नहीं हो सकता है। हालाँकि, मैंने कभी यह काम नहीं किया है।

यहाँ पूरी बात है। अपने प्लगइन्स फ़ोल्डर या म्यू-प्लगइन्स फ़ोल्डर में एक फ़ाइल बनाएं और ड्रॉप करें। (डैशबोर्ड के हर उदाहरण को अपने पसंदीदा व्यवस्थापक url में बदलना याद रखें)

<?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');

मुद्दे?

मैंने इस पद्धति का उपयोग करते हुए एक वर्ष से अधिक समय में कोई काम नहीं किया है। आप देख सकते हैं कि wp-admin अभी भी किस प्रकार के बेकार काम करेगा, लेकिन यह किसी भी चीज़ से अधिक सावधानी है। मेरे पास कुछ खराब लिखित प्लगइन्स थे जो कुछ स्थानों पर हार्डकोड wp-admin थे जो wp-admin को ब्लॉक या रीडायरेक्ट करने की कोशिश करते समय लोड नहीं करेंगे। मुझे यकीन है कि htaccess के साथ ऐसा करने का एक तरीका है, लेकिन मैंने सफलतापूर्वक इसका पता नहीं लगाया है। इसके अलावा, यह कभी भी मल्टीसाइट या ऐसी किसी चीज़ पर परीक्षण नहीं किया गया है।

अद्यतन: वैकल्पिक दृष्टिकोण

यह काफी हद तक समान है, लेकिन किसी कारण से मेरे उपरोक्त उत्तर ने मेरे द्वारा किए गए प्रत्येक मेजबान पर काम नहीं किया।

में जोड़े .htaccess

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

नामक म्यू-प्लगइन्स फ़ोल्डर में एक फ़ाइल बनाएं new-admin.phpऔर इसे वहां जोड़ें:

<?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);
}

नोट: यह दृष्टिकोण कुछ मेजबानों पर बेहतर काम करने के लिए लग रहा था, लेकिन फिर भी नए व्यवस्थापक एसएसएल के लिए wp-admin लिंक को पुनर्निर्देशित नहीं करने का मुद्दा था। यहाँ नीचे मैंने कोशिश की एक दृष्टिकोण है। जबकि यह नीचे काम नहीं करता है मुझे लगता है कि यह सही रास्ते पर है। मैं पूरी तरह से निश्चित नहीं हूं कि किस हुक का उपयोग करना है। htaccess एक बेहतर विकल्प हो सकता है, लेकिन जब मैंने इस तरह की कोशिश की तो मैं अप्रत्यक्ष छोरों को प्राप्त करता रहा।

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' );
    }
  }
}

यहाँ एक वर्ग में लिखा गया एक समान दृष्टिकोण है: wordpress.stackexchange.com/a/7832/76440
majick

खुशी है कि आपने @makick पर जवाब दिया है! यह एक महान जवाब है और वास्तव में मुझे जहां से कुछ विचार मिले थे, लेकिन यह मेरे लिए बहुत सारे मामलों में काम नहीं करता था, जहां मेरे बदलाव खेलने में आए। एक बात मैं अभी भी पता लगाने की कोशिश कर रहा हूं कि सभी wp-admin लिंक को कैसे रीडायरेक्ट करना है जो मैन्युअल रूप से url में टाइप किए गए हैं। मैं यह पता लगाने के लिए प्रतीत नहीं कर सकता कि एक बाहर। यदि आपको मौका मिलता है तो site_urlफ़िल्टर के बजाय नीचे की ओर मेरे अपडेट उत्तर को आज़माएं admin_url। यह बहुत अच्छी तरह से काम करने लगता है।
ब्रायन विलिस

9

आधिकारिक तौर पर वर्डप्रेस द्वारा समर्थित एक दृष्टिकोण वर्डप्रेस इंस्टॉलेशन फ़ाइलों को उप-निर्देशिका में स्थानांतरित करना है, जबकि साइट को रूट में रखते हुए, जैसे:

साईट यूआरएल: http://my-blog.com

व्यवस्थापक URL: http://my-blog.com/7nxnkkugrdzm/wp-admin

जबकि यह आपको अपने व्यवस्थापक url को बदलने में पूर्ण स्वतंत्रता नहीं देता है, इसका मतलब है कि आप इसे अपनी पसंद की किसी भी चीज़ के साथ उपसर्ग कर सकते हैं। यह सुरक्षा के दृष्टिकोण से उतना ही अच्छा है। उपयोगकर्ताओं के लिए अज्ञात स्थान पर सभी वर्डप्रेस इंस्टॉलेशन फ़ाइलों को स्थानांतरित करने का लाभ भी है, इसलिए यह किसी भी वर्डप्रेस सख्त रणनीति का हिस्सा होना चाहिए।

वर्डप्रेस कोडेक्स से: वर्डप्रेस अपनी खुद की निर्देशिका देते हुए

यह भी ध्यान दें कि जबकि इस सुरक्षा योजना को अस्पष्ट URL कहा जाता है , यह अस्पष्टता से सुरक्षा के समान नहीं है । अस्पष्ट URL एक पूरी तरह से वैध सुरक्षा योजना है जो पासवर्ड के रूप में अच्छी है, जबकि अस्पष्टता से सुरक्षा गुप्त अप्रमाणित प्रक्रियाओं का उपयोग करने पर निर्भर करती है।

पासवर्ड के साथ यद्यपि एक ही चेतावनी लागू होती है: कस्टम फ़ोल्डर को कॉल करें जैसे 7nxnkkugrdzm, नहीं happy-snappy-admin। इसके अलावा, सुनिश्चित करें कि आपके उपयोगकर्ता जानते हैं कि व्यवस्थापक url एक रहस्य है।


7

यहाँ पर वास्तव में एक बहुत अच्छा ट्यूटोरियल है:

अपने सोर्स कोड मिरर से वर्डप्रेस इंफॉर्मेशन कैसे छिपाएं

इसमें wp-content का नाम बदलने, wp-admin का नाम बदलने और वर्डप्रेस से जनरेटर टैग हटाने का तरीका शामिल है।

यह ट्यूटोरियल आपके स्रोत-कोड में स्पष्ट साक्ष्य या संकेतों को बदल देगा , प्रभावी ढंग से आपकी साइट से वर्डप्रेस जानकारी को हटा देगा

यह बताता है कि फ़ोल्डर का नाम, wp-admin लॉगिन यूआरएल कैसे बदलना है, और यह सुनिश्चित करें कि मुख्य साइट पर login.php को पुनर्निर्देशित किया जाए ताकि लोग सीधे वहां जा सकें।


6

यदि आप wp-admin निर्देशिका को देखने के लिए ग्राहक-स्तरीय उपयोगकर्ताओं को रखना चाहते हैं, तो आप अपनी स्वयं की निर्देशिकाओं में लॉगिन / पंजीकरण और प्रोफ़ाइल / संपादन पृष्ठों के स्टैंडअलोन संस्करण बना सकते हैं। फिर, आप htaccess या IP प्रतिबंध के माध्यम से अपने व्यवस्थापक फ़ोल्डर की सुरक्षा कर सकते हैं। (हालांकि यदि आप ऐसा करते हैं, तो आपको व्यवस्थापक-अजाक्स फ़ाइल के लिए एक अपवाद बनाना चाहिए, क्योंकि कुछ प्लगइन्स इसे जोड़ने के लिए उपयोग करते हैं, उम, AJAX कार्यक्षमता)।

यह दृष्टिकोण आपको "अस्पष्टता" देता है जो आप चाहते हैं (जो वास्तव में बहुत कुछ नहीं करता है, लेकिन अक्सर ग्राहकों और प्रबंधकों को बेहतर महसूस करता है), और व्यवस्थापक तक पहुंच को सीमित करके कुछ वास्तविक सुरक्षा भी जोड़ता है। साथ ही, ईमानदारी से, एक URL जो सिर्फ कहता है "/ लॉगिन" "wp-login.php" की तुलना में बहुत अच्छा लगता है।

यह कहे बिना जाना चाहिए कि यह आपकी साइट को बुलेटप्रूफ नहीं बनाता है। लेकिन यह एक अच्छा, बुनियादी वृद्धि है।


2

प्रशासनिक नियंत्रण कक्ष को बंद करने का एक तरीका है .htaccess नियमों का उपयोग करना। बस wt-admin निर्देशिका की जड़ में एक .htaccess फ़ाइल जोड़ें। इस फ़ाइल को जोड़ने के बाद, सभी IP पतों से इनकार करने के लिए केवल निम्नलिखित नियम जोड़ें और केवल अपने IP को अनुमति दें:

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>

1

यदि आप अपने वर्डप्रेस इंस्टॉलेशन में सुरक्षा की अतिरिक्त परत जोड़ने के उद्देश्य से wp-admin का नाम बदलना चाहते हैं, तो आप रूट्स / बेडरॉक वर्डप्रेस बॉयलरप्लेट को भी आज़मा सकते हैं । यह गैर-वेब फ़ाइलों तक पहुंच को सीमित करने के लिए वेब रूट को अलग करने में मदद कर सकता है। यह संपूर्ण वर्डप्रेस कोर को अपने स्वयं के उपनिर्देशिका में डालने जैसे wp-content / app का नाम बदलने के साथ-साथ इन अतिरिक्त विशेषताओं को व्यवस्थित / सुरक्षित करने में भी मदद कर सकता है:

  • संगीतकार के साथ निर्भरता प्रबंधन
  • पर्यावरण विशिष्ट फ़ाइलों के साथ आसान वर्डप्रेस कॉन्फ़िगरेशन
  • Dotenv के साथ पर्यावरण चर
  • म्यू-प्लगइन्स के लिए ऑटोलैडर (म्यू प्लग के रूप में नियमित प्लगइन्स का उपयोग करें)
  • संवर्धित सुरक्षा (अलग वेब रूट और wp-password-bcrypt के साथ सुरक्षित पासवर्ड)

आप अधिक विस्तृत उपयोग के लिए उनके GitHub Repo को भी देख सकते हैं :


0

Http://wordpress.org/extend/plugins/stealth-login/ पर एक नज़र डालें, इससे आपको मदद मिल सकती है।


मैं उस प्लगइन के साथ समस्या थी जब मैंने इसे आज़माया। और यह वर्तमान में WP 3.x
Rarst

आह ... बुरा करने के लिए, यह जाँच नहीं की, मैं इसे कुछ समय पहले की स्थापना रद्द की। लेकिन हे ... शायद कोई इसे वास्तविक आवश्यकता में ठीक कर सकता है।
एडेलवाटर

एक विकल्प के रूप में, कृपया wordpress.stackexchange.com/questions/4037/…
12

0

नहीं, किसी भी कोड या htaccess हैक के साथ wp-admin फ़ोल्डर का नाम बदलना संभव नहीं है,

अतीत में मैंने "wp-admin, wp-content ... आदि" टैग के लिए कोडा (संपादक का उपयोग) के माध्यम से एक संपूर्ण फ़ोल्डर खोज करके क्लाइंट के लिए समान किया और मैं "wp-" को हटा दिया फ़ाइलें।

उसके बाद आप इसे इंस्टॉल कर पाएंगे लेकिन:
आपको वही प्लग इन करना होगा जिसे आप इंस्टॉल करना चाहते हैं, आपको नए संस्करणों से "wp-" टैग को साफ़ करके कोर को मैन्युअल रूप से अपडेट करना होगा।

सभी तरीकों से मैं आपको ऐसा कुछ करने का सुझाव नहीं देता, जैसा है वैसा ही छोड़ दें और अपने उपयोगकर्ताओं / ग्राहकों को बेहतर अनुभव देने के लिए उपयोगकर्ता लॉगिन / रजिस्टर / प्रोफाइल पेज को लागू करने का प्रयास करें।

Cozmolabs से क्रिस्टियन ने एक बहुत अच्छा ट्यूटोरियल लिखा है। आप कोड को थोड़ा संपादित कर सकते हैं और इसे किसी भी वर्डप्रेस थीम में चला सकते हैं।

आप फ्रंटएंड से एक पोस्ट फॉर्म भी जोड़ सकते हैं ताकि पोस्ट लिखने के लिए व्यवस्थापक और उपयोगकर्ता क्षमता के साथ ऐसा कर सकें।

यहां आप एक उदाहरण और कोड देख सकते हैं कि फ्रंटेंड पोस्ट पृष्ठ कैसे बनाया जाए। फ्रंट-एंड पोस्ट सबमिशन

इसके अलावा आप यहां कुछ अच्छे प्लगइन्स के लिए एक नज़र डाल सकते हैं जो अधिक कार्यक्षमता के साथ ऐसा ही करते हैं।


0

IFRAME से WP-ADMIN काम करने के बारे में क्या?

"व्यवस्थापक" नामक wp डैशबोर्ड में एक नया पृष्ठ बनाएं। जैसे: yourdomain / admin /

आप का उपयोग करके टेम्पलेट पर header.php page.php/ या या footer.phpचीजों को अक्षम करने के लिए एक केस स्टेटमेंट बना सकते हैं :

<?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;

यह सुंदर नहीं है, लेकिन कम से कम कुछ हद तक आप यूआरएल से wp-admin छिपा सकते हैं। एक अन्य तरीका संभवतः मास्क-उर सक्षम के साथ डोमेन-अग्रेषण का उपयोग करना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.