Schimbă URL-ul de Autentificare Fără Plugin

4 sept. 2014, 00:24:13
Vizualizări: 47.7K
Voturi: 6

Vreau să schimb URL-ul de autentificare al instalării mele WordPress din /wp-admin.php

Încerc să fac acest lucru și mă uit la modificarea fișierului .htaccess pentru a adăuga:

RewriteRule ^login$ http://yourdomain.com/wp-login.php [NC, L]

Din ce înțeleg totuși, accesarea /wp-admin permite în continuare oamenilor să se autentifice folosind acel link. Mă gândeam să fac o redirecționare PHP astfel încât atunci când utilizatorul introduce /wp-admin să fie direcționat către pagina 404 not found.

Care este cea mai bună metodă de a schimba URL-ul de autentificare fără a folosi un plugin și respectând cele mai înalte standarde de securitate?

4
Comentarii

Cred că e mult mai bine dacă creezi o pagină de login personalizată.

cybmeta cybmeta
4 sept. 2014 00:27:38

Crearea unei pagini de login personalizate nu îți oferă opțiunea de a schimba URL-ul. Doar îți permite să modifici aspectul și anumiți parametri.

Travis Patron Travis Patron
4 sept. 2014 02:02:38

Ei bine, asta nu e complet adevărat. Tot trebuie să trimiți datele formularului de login către wp-login.php, iar URL-ul direct către wp-login.php rămâne disponibil (este și cu RewriteRule în .htaccess), dar poți folosi URL-ul dorit pentru pagina de login. Doar configurează-l când creezi pagina, la fel cum faci cu orice altă pagină în WordPress. Poate nu ai citit pe deplin linkul pe care l-am postat. Nu sunt sigur care este scopul tău, dar pagina de login personalizată satisface aspectul URL-ului personalizat, plus că o poți personaliza în totalitate.

cybmeta cybmeta
4 sept. 2014 09:47:48

Nu există niciun motiv sau metodă rezonabilă de a face asta "fără un plugin", deoarece codul necesar pentru a îndeplini sarcina ar trebui să fie conținut într-un plugin. Nu încerca să scrii propriul cod, folosește un plugin testat și verificat care este conceput special pentru această sarcină. Acesta este modul sigur.

Otto Otto
19 mar. 2016 11:53:33
Toate răspunsurile la întrebare 5
1

Despre schimbarea URL-ului de autentificare, am făcut-o deja singur. Mă ajută să-mi protejez site-ul și să previn atacurile brute force. Puteți schimba acest lucru în fișierul .htaccess. Dar trebuie să adăugați și un filtru pentru a înlocui vechiul URL de autentificare în WordPress. Exemplu pentru site-ul meu: Fișier .htaccess:


RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}

În tema dumneavoastră sau într-un plugin personalizat, puteți adăuga filtrul pentru a vă asigura că WordPress afișează URL-ul corect de autentificare.


add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
    return str_replace("wp-login.php","signin",$login_url);
}

add_action( 'login_form', 'replace_login_submit_form',1); 
function replace_login_submit_form() {
  $your_content = ob_get_contents();
  $your_content = str_replace("wp-login.php","signin",$your_content);  
  ob_get_clean();
  echo $your_content;
}

Sper că vă poate ajuta!

15 ian. 2016 10:40:53
Comentarii

nu funcționează..am încercat.

abhij89 abhij89
29 apr. 2021 15:14:25
0

Adaugă acest cod în functions.php după aceea nu vei mai putea accesa pagina la https://www.thebetacoders.com/wp-admin
Acum vei putea accesa pagina la https://www.thebetacoders.com/wp-login.php?customtext


Modifică variabila $new_login conform nevoilor tale.

<?php

function redirect_to_nonexistent_page()
{

  $new_login =  'customtext';
  if (strpos($_SERVER['REQUEST_URI'], $new_login) === false) {
    wp_safe_redirect(home_url('NonExistentPage'), 302);
    exit();
  }
}
add_action('login_head', 'redirect_to_nonexistent_page');

function redirect_to_actual_login()
{

  $new_login =  'customtext';
  if (parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY) == $new_login && ($_GET['redirect'] !== false)) {
    wp_safe_redirect(home_url("wp-login.php?$new_login&redirect=false"));
    exit();
  }
}
add_action('init', 'redirect_to_actual_login');
25 iun. 2021 02:01:41
0

Nu sunt sigur de ce nu folosește nimeni metoda standard WordPress pentru a face acest lucru.

add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
    return home_url( '/my-login-page/?redirect_to=' . $redirect );
}

Următorul exemplu ar returna un URL de autentificare http://example.com/my-login-page/ pentru funcția wp_login_url():

copiat din exemplele de la: https://developer.wordpress.org/reference/hooks/login_url/

4 dec. 2021 13:20:12
3
-1

Puteți folosi acest cod:

add_action('init','custom_login');

function custom_login(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") {
  wp_redirect('http://SITULTAU.com/URL');
  exit();
 }
}
27 ian. 2017 22:36:55
Comentarii

Te rog să adaugi niște comentarii aici. Este o practică proastă să nu oferi nicio explicație pentru răspunsuri.

Phill Healey Phill Healey
2 apr. 2018 23:08:00

acesta este un redirect, nu o nouă URL de login.

Tritof Tritof
23 feb. 2019 14:16:14

acesta nu este răspunsul la ceea ce s-a cerut.

Ibnul Hasan Ibnul Hasan
24 ian. 2021 19:35:34
2
-2

Acest lucru poate fi realizat prin crearea unui fișier nou similar cu fișierul existent wp-login.php. Pașii care trebuie urmați:

Sugestie: Faceți o copie de rezervă a fișierului wp-admin.php înainte de a urma instrucțiunile de mai jos.

  • Deschideți locația de instalare WordPress, dacă este în rădăcină, căutați fișierul numit wp-login.php
  • Acum, creați un nou fișier PHP și denumiți-l cu noua adresă URL de autentificare, de exemplu, dacă doriți să aveți adresa URL de autentificare www.siteuldvs.ro/euamgaurav în loc de www.siteuldvs.ro/wp-admin, deci creați noul fișier numit: euamgaurav.php
  • Acum copiați toate codurile din fișierul existent wp-login.php și lipiți-le în noul fișier euamgaurav.php
  • Schimbați toate aparițiile existente ale wp-login în euamgaurav (ușor prin înlocuire în masă folosind orice editor)
  • Acum salvați acest fișier și eliminați fișierul original wp-login.php din rădăcină.

Ați terminat. Goliți memoria cache și verificați autentificarea cu noua adresă URL: www.siteuldvs.ro/euamgaurav

Veți primi eroarea 404 în cazul în care cineva încearcă să se autentifice prin www.siteuldvs.ro/wp-admin

Sper că vă ajută.

Mulțumesc

4 iun. 2018 19:49:48
Comentarii

Nu. Nu. Nu modifica nicio filă din fișierele de bază.

De Coder De Coder
26 aug. 2018 12:11:36

Dacă ai de gând să recomanzi modificarea fișierelor de bază (ceea ce nu ar trebui să faci deloc), măcar ai bunul simț să clarifici problemele pe care această soluție le poate genera

Raba Raba
20 dec. 2019 10:57:10