Chào các bạn, hôm nay mình sẽ hướng dẫn các bạn về bảo mật trang admin.php của XenForo. Các bạn có thể chọn các phần theo nhu cầu bảo mật của mình sao cho tiện lợi nhất.
Phần 1: Thay đổi địa chỉ trang quản lí admin (Mặc định trang quản lí của bạn là http://tenwebsiteban/admin.php).
- Vào host đổi tên file admin.php thành tên bạn muốn (ví dụ: vietxfdotorg.php).
- Mở file: library/XenForo/Link.php. Tìm đoạn code sau:
- Thay admin.php bằng tên file mà bạn vừa đổi.
Ví dụ:
- Mở template moderator_bar tìm đoạn code sau:
- Thay admin.php bằng tên file mà bạn vừa đổi.
Ví dụ:
Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP.
- Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau:
Đoạn code sau:
Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker.
- Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 file admin.php ảo có nội dung như sau:
Phần 4: Bảo vệ file admin.php thật (file mà bạn đã đổi tên) bằng .htaccess. Mình sẽ nói qua về phần này, chi tiết hơn mời các bạn đọc bài viết sau: http://vietxf.org/threads/bao-ve-admincp-thu-muc-install-bang-htaccess.57/
- Mở file .htaccess (ngang hàng với index.php) thêm vào đoạn code sau:
Thay 12.34.56.78 bằng IP của bạn (Tác dụng của việc này là chỉ cho phép IP của bạn có thể truy cập vào AdminCP). Để biết được IP của bạn các bạn vào http://whoer.net
Done ! Tuts by Alucar (VietXF.ORG)
Nguồn: http://vietxf.org/threads/tang-cuong-bao-mat-admincp-cho-xenforo.56/
Phần 1: Thay đổi địa chỉ trang quản lí admin (Mặc định trang quản lí của bạn là http://tenwebsiteban/admin.php).
- Vào host đổi tên file admin.php thành tên bạn muốn (ví dụ: vietxfdotorg.php).
- Mở file: library/XenForo/Link.php. Tìm đoạn code sau:
Code:
public static function buildAdminLink($type, $data = null, array $extraParams = array())[/COLOR]
[COLOR=#111111]{[/COLOR]
[COLOR=#111111]$type = self::_checkForFullLink($type, $fullLink, $fullLinkPrefix);[/COLOR]
[COLOR=#111111]$link = self::_buildLink('admin', $type, $data, $extraParams);[/COLOR]
[COLOR=#111111]$queryString = self::buildQueryString($extraParams);[/COLOR]
[COLOR=#111111]if ($queryString !== '' && $link !== '')[/COLOR]
[COLOR=#111111]{[/COLOR]
[COLOR=#111111]$append = $link . '&' . $queryString;[/COLOR]
[COLOR=#111111]}[/COLOR]
[COLOR=#111111]else[/COLOR]
[COLOR=#111111]{[/COLOR]
[COLOR=#111111]// 1 or neither of these has content[/COLOR]
[COLOR=#111111]$append = $link . $queryString;[/COLOR]
[COLOR=#111111]}[/COLOR]
[COLOR=#111111]if (($hashPos = strpos($type, '#')) !== false)[/COLOR]
[COLOR=#111111]{[/COLOR]
[COLOR=#111111]$append .= substr($type, $hashPos);[/COLOR]
[COLOR=#111111]}[/COLOR]
[COLOR=#111111]$outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append;[/COLOR]
[COLOR=#111111]if ($fullLink)[/COLOR]
[COLOR=#111111]{[/COLOR]
[COLOR=#111111]$outputLink = $fullLinkPrefix . $outputLink;[/COLOR]
[COLOR=#111111]}[/COLOR]
[COLOR=#111111]return $outputLink;[/COLOR]
[COLOR=#111111]}
- Thay admin.php bằng tên file mà bạn vừa đổi.
Ví dụ:
Code:
$outputLink = 'vietxfdotorg.php' . ($append !== '' ? '?' : '') . $append;
- Mở template moderator_bar tìm đoạn code sau:
Code:
<xen:if is="{$visitor.is_admin}"> [/COLOR]
[COLOR=#111111] <a href="admin.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>[/COLOR]
[COLOR=#111111] [/COLOR]
[COLOR=#111111] <xen:if is="{$session.permissionTest}">[/COLOR]
[COLOR=#111111] <a href="{xen:link misc/reset-permissions}" class="permissionTest adminLink OverlayTrigger">[/COLOR]
[COLOR=#111111] <span class="itemLabel">{xen:phrase permissions_from_x, 'name={$session.permissionTest.username}'}</span>[/COLOR]
[COLOR=#111111] </a>[/COLOR]
[COLOR=#111111] </xen:if>[/COLOR]
[COLOR=#111111] </xen:if>
- Thay admin.php bằng tên file mà bạn vừa đổi.
Ví dụ:
Code:
<a href="vietxfdotorg.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>
Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP.
- Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau:
PHP:
<?php
Đoạn code sau:
PHP:
//Dang nhap vao admincp
$config['user_vietxforg'] = 'yourusername';
$config['pass_vietxforg'] = 'yourpassword';
if ($_SERVER['PHP_AUTH_USER'] != $config['user_vietxforg'] || $_SERVER['PHP_AUTH_PW'] != $config['pass_vietxforg']){
header('WWW-Authenticate: Basic realm="Xin vui long khai bao thong tin yeu cau truoc khi duoc chuyen den bang dang nhap"');
header('HTTP/1.0 401 Unauthorized');
//Trang sẽ hiển thị khi thông tin khai báo sai. (support HTML).
echo '<center>Access Denied!!!</center>';
exit;
}
Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker.
- Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 file admin.php ảo có nội dung như sau:
PHP:
<?php
header('WWW-Authenticate: Basic realm="Welcome to VietXF.ORG Admin CP"');
header('Refresh: 3; url=http://vietxf.org');
print 'Wrong data. You will be redirected in 3 seconds';
?>
Phần 4: Bảo vệ file admin.php thật (file mà bạn đã đổi tên) bằng .htaccess. Mình sẽ nói qua về phần này, chi tiết hơn mời các bạn đọc bài viết sau: http://vietxf.org/threads/bao-ve-admincp-thu-muc-install-bang-htaccess.57/
- Mở file .htaccess (ngang hàng với index.php) thêm vào đoạn code sau:
Code:
<Files admin.php>[/COLOR]
[COLOR=#111111]RewriteEngine On[/COLOR]
[COLOR=#111111]RewriteBase /[/COLOR]
[COLOR=#111111]RewriteCond %{REMOTE_HOST} !^12.34.56.78[/COLOR]
[COLOR=#111111]RewriteCond %{REQUEST_URI} !/index.php$[/COLOR]
[COLOR=#111111]RewriteRule .* /index.php [R=302,L][/COLOR]
[COLOR=#111111]</Files>
Thay 12.34.56.78 bằng IP của bạn (Tác dụng của việc này là chỉ cho phép IP của bạn có thể truy cập vào AdminCP). Để biết được IP của bạn các bạn vào http://whoer.net
Done ! Tuts by Alucar (VietXF.ORG)
Nguồn: http://vietxf.org/threads/tang-cuong-bao-mat-admincp-cho-xenforo.56/