![]()  | 
 
         
           |  
		
			
  | 
||||||||
| Инструкции для XenForo Различные инструкции и рекомендации по движку XenForo | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | 
| 
			
			 | 
		#1 | |||
| 
			 Коварный тип 
			![]() 
  | 
	
	
	
		
		
			
			 Как защитить админку XenForo 
		
		
		
	Автор статьи: Romchik® Источник Итак, в этой статье будет рассмотрено 3 варианта защиты админки XenForo. 
 1. Ограничение доступа к файлу admin.php по IP через .htaccess Тут все просто. Узнаем свой IP (например тут) и дописываем к файлу .htaccess (в корне форума) следующее: Код: 
	<Files admin.php> Order deny,allow Deny from all Allow from 121.222.33.44 </Files> Код: 
	<Files admin.php> Order deny,allow Deny from all Allow from 111.222.33.44 112.223.34.45 113.224.35.46 </Files> Код: 
	100.99.88.x = 100.99.88.0/24 100.99.x.x = 100.99.0.0/16 100.x.x.x = 100.0.0.0/8 Для тех же, у кого не прописан IP, будет выдаваться страница с ошибкой 403: Код: 
	Forbidden You don't have permission to access /forum/admin.php on this server. 2. Ограничение доступа к файлу admin.php по паролю через .htaccess и .htpasswd. Генерируем файл .htpasswd, задав логин и пароль. Можно воспользоваться следующим сервисом htaccesstools.com. Вводим желаемый логин и пароль и получаем что-то типа: login:$apr1$sOXY....$C4/V8oJK89nf3D3OEIs5Q/ Сохраняем полученную строчку в файл .htpasswd и загружаем его на сервер. Желательно расположить его выше корня сайта, т.е. там, куда посетители не могут добраться. Дальше нужно поправить .htaccess, который в корне форума, дописав туда следующее: Код: 
	<Files admin.php> AuthUserFile /путь/относительно/корня/веб-сервера/до/файла/.htpasswd AuthType Basic AuthName "Какой-нибудь заголовок для диалогового окна авторизации" Require valid-user </Files> Недостаток этого способа в том, что пароль в админку нужно вводить 2 раза, причем в каждом случае он должен быть разным. Ну и кроме того, у неопытных пользователей даже с инструкцией могут возникнуть вопросы, как правильно защититься дополнительным паролем. 3. Переименовывание файла admin.php. Меняем в корне форума имя у файла admin.php на что-то свое, например, adminka.php. Но это еще не все. Многие ссылки в админке не будут теперь работать. Поэтому необходимо открыть library/XenForo/Link.php и найдя: Код: 
	$outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append; Код: 
	$outputLink = 'adminka.php' . ($append !== '' ? '?' : '') . $append; Код: 
	<a href="admin.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>
И еще в шаблоне PAGE_CONTAINER находим: Код: 
	<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
И не забываем проделывать эти 4 операции после каждого обновления еще раз! Недостаток третьего способа в том, что необходимо править файл (пусть и один, но все же). Это значит, что при каждом обновлении форума нужно не забыть переименовать обновленный admin.php и заменить новое имя в файле Link.php. Дополнительно: [взял тут] В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код Код: 
	<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
Код: 
	<a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a>
 | 
|||
| 
		
		
		
		
		
		
		
			 Последний раз редактировалось Serberg; 22.04.2013 в 11:00..  | 
||||
	
		
		
		
		
			 
		
		
		
		
		
		
			
		
		
		
	 | 
||||
| 3 пользователя(ей) сказали cпасибо: | 
| 
			
			 | 
		#5 | |||
| 
			 Коренной житель 
			![]() 
  | 
	
	
	
		
		
			
			 Serberg дополни немного про защиту. 
		
		
		
	В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код Код: 
	<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
Код: 
	<a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a>
Oleg88 а кто сказал, что злобный хацкер задался целью брутнуть пароль? Вариант с тем что ему доступ к форуму под админом не нужен не рассматривали? Есть миллион и даже больше гадостей, которые он сможет сделать узнав в какой именно папке лежит админка.  | 
|||
	
		
		
		
		
			 
		
		
		
		
		
		
			
		
		
		
	 | 
||||
| Cказали cпасибо: |