• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Hướng dẫn Tăng cường bảo mật AdminCP cho XenForo

JavaFC

New Member
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:
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/
 

Facebook Comments

Similar threads

New posts New threads New resources

Back
Top