Collection by traibingo
112
Part 18
Bảo mật cho trang quản trị Joomla! bằng cookie
Ý tưởng của giải pháp này là: Sử dụng chứng thực bằng cookie ngăn chặn
mọi truy cập trực tiếp tới vùng quản trị Joomla! bằng đường dẫn
/administrator (VD: http://yoursite.com/joomla/administrator). Thay vào
đó phải truy cập gián tiếp thông qua một đường dẫn chỉ mình bạn biết
(chẳng hạn http://yoursite.com/joomla/secret/yoursite.php).
Bước 1: Tạo một thư mục bí mật chẳng hạn [Joomla]/secret
Thư mục này nằm cùng mức với thư mục /administrator
Collection by traibingo
113
Lưu ý: Bạn hoàn toàn có thể sử dụng một thư mục có sẵn (chẳng hạn thư
mục /language)
Bước 2: Tạo một file "yoursite.php" trong thư mục bí mật trên với nội
dung sau:
< ?php
$admin_cookie_code="abcdef123456";
setcookie("YoursiteAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");
?>
Bạn nên đổi cặp giá trị cookie "YoursiteAdminSession" &
"abcdef123456" bằng những chuỗi ký tự bất kỳ (gồm ký tự chữ cái và ký
tự số) để tránh hacker sử dụng công cụ chèn trực tiếp cookie trên vào trình
duyệt.
Bạn cũng có thể sử dụng một cái tên khác chứ không nhất thiết phải là
"yoursite.php" :)
Bước 3: Thêm nội dung sau tới file ".htaccess" của thư mục
/administrator
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !YoursiteAdminSession=abcdef123456
RewriteRule .* - [L,F]
Trong trường hợp HOSTING của bạn không hỗ trợ file .htaccess hãy liên
hệ với bộ phận kỹ thuật để được giúp đỡ.
Khi cần truy cập vào trang quản trị hãy gõ đường dẫn:
http://yoursite/secret/yoursite.php
VD: http://yoursite.com/secret/yoursite.php
Reference:
http://forum.joomla.org/
Collection by traibingo
114
Các cách CHMOD cho tệp (file) và thư mục
(directory)
Để đảm bảo an toàn cho các file và thư mục trong Joomla!, tránh sự nhóm
ngó của các hacker thì một trong các yêu cầu quan trọng và phải luôn lưu ý
đó là CHMOD cho đúng.
Thông thường chúng ta cần thiết lập CHMOD 755 cho các thư mục và
CHMOD 644 cho các file.
CHMOD là gì? CHMOD= 755 là gì? CHMOD = 644 là gì?
CHMOD chính là thao tác thay đổi các quyền sau:
"Read" (Đọc): viết tắt là "r", và được biểu diễn bằng số 4
"Write" (Ghi / Chỉnh sửa): viết tắt là "w", và được biểu diễn bằng số
2
"Execute" (Thực thi): viết tắt là "x", và được biểu diễn bằng số 1
CHMOD cùng lúc thay đổi quyền hạn trên các file/thư mục với các đối
tượng sau:
"Owner" - chủ sở hữu của file/thư mục,
"Group" - Nhóm mà Owner là thành viên,
"Public / Others/ Everybody": những người còn lại.
Collection by traibingo
115
CHMOD 755 (rwx r-x r-x) cho thư mục
Lưu ý: Khái niệm CHMOD không tồn tại trên hệ thống Windows, mà chỉ có
trên các hệ thống Unix/Linux
CHMOD = 755 cho các thư mục có nghĩa là:
7 = 4 + 2 + 1 : Người sở hữu thư mục có quyền đọc thư mục (read);
chỉnh sửa thư mục (write); liệt kê các thư mục và file bên trong
(execute);
5 = 4 + 0 + 1 : Những người cùng nhóm chỉ có quyền đọc thư mục
(read); liệt kê các thư mục và file bên trong (execute)
5 = 4 + 0 + 1 : Những người còn lại chỉ có quyền đọc thư mục (read);
liệt kê các thư mục và file bên trong (execute)
Collection by traibingo
116
CHMOD 755 (rwx r-x r-x) cho thư mục
CHMOD = 644 cho các tệp (file) có nghĩa là:
6 = 4 + 2 + 0 : Người sở hữu thư mục có quyền đọc tệp (read); chỉnh
sửa tệp (write)
4 = 4 + 0 + 0 : Những người cùng nhóm chỉ có quyền đọc tệp (read)
4 = 4 + 0 + 0 : Những người còn lại chỉ có quyền đọc tệp (read)
Collection by traibingo
117
CHMOD 644 (rw- r r ) cho file
CMOD 755 cho các thư mục, CHMOD 644 cho các file bằng một file
PHP
Tạo một file "chmod.php" nằm trong thư mục mà bạn cần CHMOD cho
toàn bộ các file, thư mục bên trong nó với nội dung như sau:
<?php
system('find . -type d -exec chmod 755 {} \; 2>&1');
system('find . -type f -exec chmod 644 {} \; 2>&1');
echo("\n\nComplete!");
?>
Sau đó thực thi các dòng lệnh trên bằng cách mở link tới file này. VD:
http://yoursite.com/joomla/chmod.php
CHMOD 755 cho các thư mục, CHMOD 644 cho các file bằng dòng
lệnh
Collection by traibingo
118
Nếu bạn là người quản trị server hoặc có thể thực thi dòng lệnh thông qua
SSH thì trước tiên bạn cần chuyển đến thư mục Joomla bằng lệnh "cd"
(change directory), sau đó bạn có thể dùng các lệnh sau:
find . -type d -exec chmod 755 {} \; // dùng để CHMOD cho các thư
mục
find . -type f -exec chmod 644 {} \; // dùng để CHMOD cho các file
hoặc
find . -type d -print0 | xargs -0 chmod 0775 // dùng để CHMOD cho các
thư mục
find . -type f -print0 | xargs -0 chmod 0664 // dùng để CHMOD cho các
file
hoặc
chmod -R 755 ./* // dùng để CHMOD tất cả các thư mục
và file
find . -type f -exec chmod 644 {} \; // dùng để CHMOD cho các file
CHMOD bằng các trình quản lý file như "File Manager", "FileZilla"
Đối với FileZilla:
Chọn"Recurse into subdirectories" để áp dụng thao tác CHMOD cho
cả các thư mục con
Chọn "Apply to all files and directories" để áp dụng thao tác CHMOD
cho tất cả các file và thư mục
Chọn "Apply to files only" để chỉ áp dụng thao tác CHMOD cho các
file
Chọn "Apply to directories only" để chỉ áp dụng thao tác CHMOD cho
các thư mục
Collection by traibingo
119
CHMOD 755 (rwx r-x r-x) cho thư mục bằng FileZilla
Collection by traibingo
120
CHMOD 755 (rwx r-x r-x) cho thư mục bằng "File Manager"
. http://yoursite.com /joomla/ secret/yoursite.php).
Bước 1: Tạo một thư mục bí mật chẳng hạn [Joomla] /secret
Thư mục này nằm cùng mức với thư mục /administrator. chặn
mọi truy cập trực tiếp tới vùng quản trị Joomla! bằng đường dẫn
/administrator (VD: http://yoursite.com /joomla/ administrator). Thay vào
đó phải truy