Tạo mật khẩu cho website khi đang bảo trì với .htaccess và .htpasswd

Khi các bạn đang xây dựng website hoặc đang chỉnh sửa trong quá trình bảo trì không muốn người khác vào site thì chúng ta cần đặt username và mật khẩu cho web, việc này cũng giúp bảo mật cho website

BƯỚC 1: Đầu tiên bạn cần tạo file .htaccess

với nội dung như bên dưới

<ifModule mod_rewrite.c>
RewriteEngine On
## Application Handler
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)?$ index.php?a=$1 [QSA,NC,L]
## Error 404 ##
ErrorDocument 404 /index.php?a=404
AuthType Basic
AuthName "Vui long nhap username va pass"
AuthUserFile /home/userhosting/domains/domain.com/public_html/.htpasswd
Require valid-user
</ifModule>


# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 5 weeks
<FilesMatch ".(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up caching on media files for 5 weeks
<FilesMatch ".(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up 1 day caching on commonly updated files
<FilesMatch ".(xml|txt|html|js|css)$">
ExpiresDefault A86400
Header append Cache-Control "proxy-revalidate"
</FilesMatch>

# Force no caching for dynamic files
<FilesMatch ".(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>

<IfModule mod_expires.c>
Header set cache-control: public
ExpiresActive on

ExpiresByType font/ttf "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
</IfModule>

<IfModule mod_deflate.c>
<FilesMatch "\.(ttf|otf|eot|svg)$" >
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

Order Deny,Allow
Deny from 213.166.71.110
Deny from 185.2.32.2
Deny from 212.86.109.70

# BEGIN cPanel-generated php ini directives, do not edit
# Manual editing of this file may result in unexpected behavior.
# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
<IfModule php5_module>
php_flag asp_tags Off
php_flag display_errors Off
php_value max_execution_time 30
php_value max_input_time 60
php_value max_input_vars 1000
php_value memory_limit 128M
php_value session.gc_maxlifetime 1440
php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
php_value upload_max_filesize 2M
</IfModule>
# END cPanel-generated php ini directives, do not edit

 

Ở đây các bạn chú đoạn code này
AuthType Basic
AuthName “Vui long nhap username va pass”
AuthUserFile /home/userhosting/domains/domain.com/public_html/.htpasswd
Require valid-user

Để có được AuthUserFile các bạn dùng lệnh echo $_SERVER[‘DOCUMENT_ROOT’]; để lấy là đường dẫn gốc thư mục domain và thay vào

BƯỚC 2: TẠO FILE .htpasswd
các bạn cần có nội dung sau

admin:{SHA}rlraZ+RzrYgHcJ2HDOjkxtTb+cA=
//pass:123456
//https://hostingcanada.org/htpasswd-generator/

 

các bạn cần điền thông tin admin và pass như: admin:{SHA}rlraZ+RzrYgHcJ2HDOjkxtTb+cA= để có được mật khẩu màu đỏ này các bạn truy cập vào trang https://hostingcanada.org/htpasswd-generator/ để tạo mật khẩu và thay thế

Như vậy là xong