Επαναφορά του κωδικού πρόσβασης administrator με sql-query (Drupal 7)
Icon Printer


Σε περίπτωση που χρησιμοποιείτε το Drupal 7, χάσετε τον κωδικό administrator και οι μέθοδοι ειδοποίησης μέσω email ή drush δεν λειτουργούν, μπορείτε να ορίσετε τον κωδικό πρόσβασης μέσω ερωτήματος στην βάση δεδομένων.


Αλλά πρώτα, πρέπει να δημιουργήσετε ένα hash κωδικού πρόσβασης που ισχύει για το site σας.


Εκτελέστε τις ακόλουθες εντολές από τη γραμμή εντολών, στον ριζικό κατάλογο του Drupal:


./scripts/password-hash.sh newpwd


Ελέγξτε την πρώτη γραμμή αυτού του σεναρίου. Θα διαβάσει κάτι σαν 


#!/Usr/bin/php


Βεβαιωθείτε ότι το όνομα αρχείου που παρατίθεται στη γραμμή αυτή βρίσκεται στο μηχάνημά σας. 


Συνήθως αν δεν είναι  /usr/bin/php, τότε θα είναι /usr/local/bin/php 


ή για Windows:


php. \scripts\password-hash.sh newpwd


ΣΗΜΕΙΩΣΗ: Εάν λάβετε ένα σφάλμα ότι η PHP δεν είναι αναγνωρισμένη εντολή τότε θα πρέπει να προσθέσετε php στο system PATH. Για παράδειγμα:; c:\wamp\bin\php\ php5.3.8\. Αυτό θα λειτουργήσει στη γραμμή εντολών. Αφού ολοκληρωθεί, κάντε δεξί κλικ στο παράθυρο "command promt" για να επισημάνετε το κείμενο και να αντιγράψετε το hash code.


ΣΗΜΕΙΩΣΗ: Εάν λάβετε ένα σφάλμα σχετικά με τη μη δυνατότητα εύρεσης ενός αρχείου, θα χρειαστεί να χρησιμοποιήσετε την παράμετρο --root για να καθορίσετε τον ριζικό κατάλογο της εγκατάστασης Drupal.

Ο κωδικός πρόσβασης δεν θα πρέπει να περιέχει ειδικούς χαρακτήρες, όπως ένα κενό, * ή? Εναλλακτικά πρέπει ή να βάλετε τον κωδικό πρόσβασης σε εισαγωγικά που είναι κατάλληλα για το χρησιμοποιούμενο shell.

Το script θα εξαγάγει ει ένα hash κωδικού πρόσβασης που ισχύει για το site. Αντιγράψτε το ή γράψτε το κάπου καθώς θα το χρειαστείτε στο επόμενο βήμα. Προσέξτε να μην συμπεριλάβετε περισσότερους ή λιγότερους χαρακτήρες ως hash. Αυτά τα hashes μοιάζουν κάπως με 
$S$ CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML

Στη συνέχεια εκτελέστε το ακόλουθο ερώτημα στη βάση δεδομένων του Drupal:

UPDATE χρήστες SET pass = '$S$ CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML' WHERE uid = 1;

Για να εκτελέσετε αυτό το ερώτημα, θα πρέπει να συνδεθείτε στη βάση δεδομένων. Αυτό γίνεται συνήθως μέσω της γραμμής εντολών ή μέσω διεπαφής GUI όπως το phpMyAdmin.

Διαγράψτε τον πίνακα flood (μόνο για το Drupal 7)

Εάν έχετε επαναφέρει τον κωδικό πρόσβασης είτε με τη χρήση δέσμης ενεργειών είτε με το "request new password", αλλά εξακολουθείτε να λαμβάνετε "Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. τότε μπορείτε να διαγράψετε την αντίστοιχη καταχώρηση στον flood πίνακα.

Αυτός καταγράφει το username και το ip από το οποίο πραγματοποιήθηκε αποτυχημένη προσπάθεια σύνδεσης.

Περάστε την παράμετρο ρίζας

Αν το λειτουργικό στο οποίο εργάζεστε είναι Windows και θέλετε να περάσετε το root param script, θα χρειαστείτε αυτό:

php -f password-hash.sh -- --root "C: \wamp\www\" newp@ss