2013-11-10 2 views
0

Не программист или эксперт PHP здесь: пожалуйста, возьмите знания начального уровня.Требует ли WordPress полного index.php в корневой папке? Есть ли лучший способ защитить от взлома?

По соображениям безопасности, я хотел бы выделить содержимое index.php в моей основной папке WordPress к чему-то другому - скажем, fish.php и просто иметь index.php, что это называет, например так:

<html> 
<body> 

<?php include 'fish.php'; ?> 

</body> 
</html> 

Файл fish.php содержит все, что обычно находится в index.php. Это будет просто названо fish.php.

Будет ли это полностью нарушать WordPress? Полный, подробный файл index.php, необходимый для его функционирования, или это одноразовый «загружаемый и идущий» php-файл, который не упоминается снова, как только WP находится в браузере?

+1

У вас не может быть в html-файле. Вы можете установить файл загрузки по умолчанию в каталог с помощью конфигурации apache (или любого другого веб-сервера). – span

+0

Я немного. Я отредактирую вопрос. – JeanSibelius

+0

@dkftw Конечно, он может, если он настроил сервер для этого. –

ответ

1

Ваш вопрос в замешательстве. Итак, вы хотите другой файл, который затем включает в себя содержимое index.php в WordPress? Чего вы пытаетесь достичь? Основная суть Вашего вопроса, как представляется, эта строка:

Является ли полный, подробный файл index.php абсолютно необходимо для него, чтобы функции, или это разовый «нагрузки и идти» файл PHP, который не упоминается снова, как только WP находится в браузере?

Как управлять системами управления контентом или практически любыми системными работами на базе контроллера, необходимо выполнить все запросы в одном файле &, а затем действовать на них. В WordPress это index.php. И это больше, чем просто загрузить домашнюю страницу. Это страница шлюза для всех других страниц. Таким образом, вы можете обманывать его, но почему? И для какой пользы?

EDIT: Оригинальный плакат в комментариях к моему ответу объясняет, что они думают о способах предотвращения взлома сайта WordPress. Переименование файла не будет работать. Тем более, что index.php видны только на стороне сервера. Скажем, с помощью какой-то сумасшедшей конфигурации исходный плакат настраивает Apache, чтобы всегда загружать fish.php в качестве своих index. Веб-браузер и пользователи & ботов - все равно получат контент WordPress. Вместо этого я делаю следующее в виде сползающего грубого способа избегать хаков: я устанавливаю защиту паролей на админ-зонах систем CMS .htaccess. Логика - и она до сих пор работала - большинство систем CMS атакованы скриптами, которые взломают уязвимости в процессе администрирования или входа в систему. Да, некоторые боты могут пройти. Но вы можете устранить тонны «низко висящих фруктов» с помощью этого метода.

Например, ниже приведена часть конфигурации виртуального хоста Apache, которую я буду использовать в качестве примера для сайта, на который я звоню mygreatsite.com, который я основал в стандарте /var/www. Обратите внимание, что я добавляю разрешение для wp-login.php и wp-admin, но разрешаю пройти admin-ajax.php, так как многие функции его используют. Теперь пользователям, которые управляют сайтом, нужно будет запомнить дополнительную комбинацию пользователей и паролей в дополнение к своим стандартным учетным данным WordPress. Но угадайте, что? Большинство сценариев взлома CMS отказываются, когда сталкиваются с паролем на основе браузера, исходящим из Apache.

# Added for WordPress CMS protection. 
    <Directory /var/www/mygreatstite.com/wordpress/wp-login.php> 
    Options FollowSymLinks 
    AllowOverride all 

    AuthName "WordPress Login" 
    AuthType Basic 
    require valid-user 
    AuthUserFile /etc/apache2/htpasswd_wordpress_admin 

    Order Deny,Allow 
    Deny from all 
    Satisfy Any 
    </Directory> 

    # Added for WordPress CMS protection. 
    <Directory /var/www/mygreatstite.com/wordpress/wp-admin> 
    Options FollowSymLinks 
    AllowOverride all 

    AuthName "WordPress Admin" 
    AuthType Basic 
    require valid-user 
    AuthUserFile /etc/apache2/htpasswd_cms_admin 

    Order Deny,Allow 
    Deny from all 

    # Allow 'admin-ajax.php' to pass. 
    <Files admin-ajax.php> 
     # Order Allow,Deny 
     Allow from all 
    </Files> 

    Satisfy Any 

    </Directory> 
+0

Честно говоря, это, вероятно, не самая лучшая идея в мире, но поскольку мои сайты WP разыгрываются каждые шесть месяцев или около того, я хотел попробовать что-то, -name «ожидаемые» файлы сайта, поэтому большинство скриптов, созданных для взлома WP автоматически, не будут работать на нем. Поэтому, если скрипт ожидает найти определенные вещи в файле index.php, он ... не будет. Это будет только вызов другого файла. – JeanSibelius

+1

@mattshepherd Это не сработает. С точки зрения пользователя все будет работать так же, как и раньше. Изменения будут видны только через ftp. Но если кто-то получил доступ к вашему ftp, вы просто потеряли все, поэтому не беспокойтесь о скрытии файлов. Сохраните файл ftp и обновите свой WP, как только появится новая версия. –

+0

На самом деле это очень плохая идея для безопасности. И это не сработает, так как скрипты взлома будут по-прежнему читать контент. Как ветеран многих нападений CMS, у меня есть несколько советов. Обновит мой ответ. – JakeGould

Смежные вопросы