Γιατί το WordPress δεν παίζεται #1

Ή αλλιώς, πώς να φτιάξετε έναν φάκελο με αρχεία για κατέβασμα από το ιστολόγιό σας.

Για να δημιουργήσετε έναν υποφάκελο με αρχεία προς κατέβασμα από το ιστολόγιό σας, φτιάξτε τον υποφάκελο στον εξυπηρετητή, και προσθέστε αυτούσιο ή προσαρμοσμένο το εξής αρχείο ως index.php:

<?php
define('WP_USE_THEMES', false);
// Αλλάξτε την πιο κάτω γραμμή αν χρειάζεται, 
// για να δείχνει την πραγματική τοποθεσία του αρχείου
require('../wp-blog-header.php');

get_header(); 

  if ($handle = opendir('./')) {
      echo('<ul>');
      // Μπορείτε να προσθέσετε κι άλλα αρχεία στο array,
      // αν δεν θέλετε να εμφανίζονται στη λίστα αρχείων
      $briki_filename_exceptions = array('.','..','index.php');
      /* This is the correct way to loop over the directory. */
      while (false !== ($file = readdir($handle))) {
          if(!in_array($file, $briki_filename_exceptions)) {
            echo('<li><a href="'.$file.'">'.$file.'</li>');
          }
      }
      echo('</ul>');
      closedir($handle);
  }
get_footer(); ?>

Αν έχετε .htaccess στο ιστολόγιό σας, ίσως χρειάζεται να το τροποιήσετε για να μην συμπεριλαμβάνει τον νέο σας υποφάκελο, δείτε και την προηγούμενη δημοσίευση για αυτό το θέμα. Μπορείτε επίσης να περιορίσετε την εμφάνιση της λίστας αρχείων σε συνδεδεμένους χρήστες (επίσης και αυτό αναφέρεται στην προηγούμενη δημοσίευση) με χρήση της συνάρτησης του WordPress: if ( is_user_logged_in() ), αλλά αυτό δεν θα εμποδίσει κάποιον να κατεβάσει αρχεία αν έχει κατ’ ευθείαν σύνδεσμο πάνω σε συγκεκριμένο αρχείο. Για το σκοπό αυτό, χρειάζεστε επιπλέον προστασία, π.χ. με .htaccess.

Δείτε επίσης

Δύο ακόμα άρθρα σε αυτή τη σειρά:

  1. Γιατί το WordPress δεν παίζεται #0
  2. Γιατί το WordPress δεν παίζεται #2

Posted on