Πρόσβαση στο σύστημα αρχείων χρησιμοποιώντας SQL

Πρόσφατα ανακάλυψα έναν έξυπνο τρόπο πρόσβασης στο σύστημα αρχείων και ανάκτησης πολύτιμων πληροφοριών, όπως η ύπαρξη αρχείων και φακέλων ή το περιεχόμενό τους. Αυτό μπορεί να είναι πολύ χρήσιμο ως εναλλακτική λύση στη συνάρτηση PHP ` file_exists` , καθώς οι πληροφορίες σχετικά με την ύπαρξη του/των αρχείου/αρχείων μπορούν να χρησιμοποιηθούν στο ερώτημα για περαιτέρω συναρτήσεις ταξινόμησης και συγκέντρωσης.


Εφόσον ο χρήστης της συσχετισμένης βάσης δεδομένων έχει δικαιώματα FILE , η εντολή μπορεί να χρησιμοποιηθεί

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

Κατά τη διάρκεια του ερωτήματος όχι μόνο ελέγξτε αν υπάρχει ένα αρχείο, αλλά και διαβάστε το περιεχόμενό του.

Σε συστήματα Windows θα πρέπει να σημειωθεί ότι η ανάστροφη κάθετο στη διαδρομή προς το αρχείο πρέπει να επισημανθεί ανάλογα (παράδειγμα: C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts). Η πτυχή ασφάλειας δεν πρέπει επίσης να αγνοηθεί πλήρως, καθώς όταν χορηγείται το προνόμιο FILE, η πρόσβαση στη βάση δεδομένων σημαίνει αυτόματα πρόσβαση στο υπόλοιπο σύστημα αρχείων.

Για να διασφαλιστεί ότι δεν επιστρέφονται μόνο οι τιμές NULL, πρέπει να διασφαλιστεί ότι ο χρήστης που εκτελεί MySQL έχει δικαιώματα ανάγνωσης.

Για να αποκτήσετε πρόσβαση σε μεγάλα αρχεία, η καθολική ιδιότητα "max_allowed_packet", η οποία έχει οριστεί σε 1 MB, πρέπει να αυξηθεί.

mysql -u... -p...
set global max_allowed_packet = 1024 * 1024 * 512;
exit;

Τώρα μπορείτε (μετά την επανεκκίνηση του διακομιστή) να αποκτήσετε πρόσβαση σε αρχεία μεγέθους έως 512 MB.

Πίσω