Loi 403 Forbidden: Y nghia va cach khac phuc

Loi 403 Forbidden la gi?
Loi 403 Forbidden la ma trang thai HTTP co nghia la may chu da hieu yeu cau cua ban nhung co y tu choi thuc hien. Khac voi loi 404 (khong tim thay trang), may chu biet chinh xac ban yeu cau gi — nhung khong chap nhan cung cap cho ban.
Dac ta HTTP (RFC 9110, Muc 15.5.4) dinh nghia nhu sau: may chu da hieu yeu cau nhung tu choi uy quyen. Neu thong tin xac thuc da duoc cung cap, may chu xem chung la khong du. Gui lai cung yeu cau se cho ket qua tuong tu.
Noi don gian: canh cua ton tai, nhung ban khong duoc phep buoc qua. May chu da quyet dinh rang ban — hoac bat ky ai trong tinh huong cua ban — khong nen truy cap tai nguyen nay.
Loi 403 trong nhu the nao
Loi 403 hien thi khac nhau tuy thuoc vao may chu, trinh duyet va nha cung cap hosting. Duoi day la cac thong bao pho bien nhat ma ban se gap phai.
403 Forbidden — thong bao tieu chuan
HTTP Error 403 – Forbidden — pho bien tren may chu IIS
403 — Forbidden: Access is denied — bien the Windows/IIS
Error 403 — dang rut gon trong thanh dia chi trinh duyet
Forbidden: You don't have permission to access this resource — thong bao mac dinh cua Apache
Access Denied — thong bao chung khong co ma trang thai
nginx 403 forbidden — trang loi mac dinh cua Nginx
Error 1020: Access Denied — chan boi tuong lua Cloudflare (boc loi 403)
Bat ke noi dung cu the la gi, y nghia luon giong nhau: may chu se khong cho phep ban truy cap trang hoac tap tin duoc yeu cau.
403 vs 401 vs 404: Su khac biet la gi?
Ba ma loi nay thuong bi nham lan. Duoi day la su khac biet giua chung.
| Ma trang thai | Y nghia | Co the khac phuc? | Vi du |
|---|---|---|---|
| 401 Unauthorized | Ban can dang nhap truoc | Co — cung cap thong tin dang nhap hop le | Truy cap bang dieu khien quan tri ma khong dang nhap |
| 403 Forbidden | Ban da dang nhap nhung khong duoc phep | Tuy truong hop — may chu dang chan ban | Co truy cap tap tin cua nguoi dung khac |
| 404 Not Found | Trang khong ton tai | Kiem tra chinh ta URL | Truy cap trang da xoa hoac go sai dia chi |
Su khac biet quan trong: loi 401 yeu cau ban xac thuc. Loi 403 cho ban biet rang xac thuc se khong giup ich — may chu da quyet dinh ban khong the truy cap tai nguyen nay. Loi 404 co nghia la tai nguyen khong ton tai.
Cac nguyen nhan pho bien cua loi 403 Forbidden
Hieu tai sao loi 403 xay ra giup ban khac phuc nhanh hon. Duoi day la cac nguyen nhan pho bien nhat, chia theo viec ban la nguoi truy cap hay chu so huu trang web.
Quyen tap tin khong chinh xac — tap tin dat 600 hoac thu muc dat 700 chan truy cap cong cong
Cau hinh sai quy tac .htaccess — chi thi deny hoac quy tac mod_rewrite chan yeu cau
Thieu tap tin chi muc — khong co index.html hoac index.php, va liet ke thu muc bi tat
Chan IP — quy tac may chu hoac tuong lua chan dia chi IP hoac quoc gia cua ban
Can tro VPN hoac proxy — dia chi IP cua VPN co the nam trong danh sach chan
Bao ve hotlink — may chu chan lien ket truc tiep den hinh anh hoac tap tin tu cac ten mien khac
Xung dot plugin WordPress — cac plugin bao mat nhu Wordfence hoac iThemes chan yeu cau
Web Application Firewall (WAF) — Cloudflare, Sucuri hoac ModSecurity danh dau yeu cau cua ban
Van de chung chi SSL — chung chi het han hoac cau hinh sai co the gay ra chan truy cap
Gioi han toc do — qua nhieu yeu cau tu dia chi IP cua ban trong thoi gian ngan
Cach khac phuc loi 403 khi la nguoi truy cap
Neu ban dang gap loi 403 tren mot trang web khong thuoc so huu cua ban, day la cac buoc can thu. Cac buoc nay duoc liet ke theo thu tu — hay bat dau tu dau.
1. Kiem tra URL
Cach khac phuc don gian nhat thuong la dung. Dam bao rang ban dang truy cap URL cua trang, khong phai URL cua thu muc. Nhieu may chu mac dinh chan viec duyet thu muc.
Vi du, truy cap https://example.com/images/ (mot thu muc) se tra ve loi 403 tren hau het cac may chu, trong khi https://example.com/images/logo.png (mot tap tin cu the) hoat dong binh thuong. Kiem tra ky loi chinh ta va dam bao URL tro den mot trang thuc te.
2. Xoa bo nho cache va cookie trinh duyet
Trinh duyet cua ban co the dang gui cookie cu hoac token xac thuc da luu trong bo nho cache ma may chu tu choi. Xoa chung se buoc trinh duyet gui yeu cau moi.
Chrome: Settings → Privacy → Clear browsing data → Cookies + Cached images
Firefox: Settings → Privacy → Clear Data → Cookies + Cache
Safari: Settings → Privacy → Manage Website Data → Remove All
Edge: Settings → Privacy → Clear browsing data → Cookies + CacheSau khi xoa, dong va mo lai trinh duyet, sau do thu lai URL.
3. Tat VPN hoac proxy
VPN va may chu proxy dinh tuyen luu luong truy cap cua ban qua cac dia chi IP dung chung. Neu mot nguoi dung khac tren cung VPN da lam dung trang web, dia chi IP dung chung cua ban co the bi dua vao danh sach chan.
Tam thoi ngat ket noi VPN va thu lai trang web. Neu hoat dong duoc, van de la do chan dua tren IP. Ban co the thu chuyen sang may chu VPN khac hoac lien he voi chu so huu trang web.
4. Thu mot mang hoac thiet bi khac
Neu loi 403 van tiep tuc, chuyen sang mot mang khac (du lieu di dong thay vi Wi-Fi hoac nguoc lai). Dieu nay giup xac dinh xem dia chi IP cua ban co bi chan hay khong.
Ban cung co the thu mot thiet bi hoac trinh duyet khac. Neu trang tai duoc tren mot trinh duyet nhung khong tai duoc tren trinh duyet khac, van de co the lien quan den du lieu luu trong bo nho cache hoac tien mo rong trinh duyet, khong phai chan IP.
Cach khac phuc loi 403 khi la chu so huu trang web
Neu nguoi truy cap bao cao loi 403 tren trang web cua ban — hoac ban tu thay chung — cach khac phuc gan nhu luon nam trong cau hinh may chu. Thuc hien cac kiem tra nay theo thu tu.
5. Sua quyen truy cap tap tin va thu muc
Quyen truy cap tap tin khong chinh xac la nguyen nhan so mot cua loi 403 tren cac may chu web. Quyen truy cap tieu chuan cho may chu web la 755 cho thu muc va 644 cho tap tin.
Day la y nghia cua cac con so: chu so dau tien la quyen cua chu so huu, chu so thu hai la nhom, va chu so thu ba la tat ca nguoi khac. 7 = doc + ghi + thuc thi, 5 = doc + thuc thi, 4 = chi doc.
# Fix directory permissions (755 = owner rwx, group rx, others rx)
find /var/www/html -type d -exec chmod 755 {} \;
# Fix file permissions (644 = owner rw, group r, others r)
find /var/www/html -type f -exec chmod 644 {} \;
# Verify ownership (should match your web server user)
ls -la /var/www/html/
# Change ownership to web server user if needed
chown -R www-data:www-data /var/www/html/6. Xem xet cac quy tac .htaccess
Tren cac may chu Apache, tap tin .htaccess kiem soat cac quy tac truy cap. Mot dong cau hinh sai co the chan tat ca nguoi truy cap. Kiem tra cac chi thi Deny from all hoac cac quy tac Require qua han che.
Cach nhanh nhat de kiem tra: tam thoi doi ten .htaccess thanh .htaccess.bak. Neu loi 403 bien mat, van de nam trong tap tin do.
# Temporarily rename .htaccess to test
mv /var/www/html/.htaccess /var/www/html/.htaccess.bak
# If 403 goes away, check the file for deny rules:
grep -i 'deny\|require\|allow' /var/www/html/.htaccess.bak
# Common problematic lines:
# Deny from all
# Require all denied
# Order deny,allowNeu trang web hoat dong khi khong co .htaccess, hay xem xet tap tin tung dong mot. Tim cac chi thi Deny from all hoac Require all denied co the dang chan luu luong truy cap hop phap. Thay the chung bang cac quy tac cu the chi chan nhung gi ban thuc su muon chan.
7. Them tap tin chi muc mac dinh
Khi nguoi truy cap yeu cau URL thu muc (nhu example.com/blog/) ma khong chi dinh tap tin, may chu tim kiem tap tin chi muc mac dinh. Neu khong co va liet ke thu muc bi tat, ban se nhan loi 403.
Cach khac phuc: tao tap tin index.html hoac index.php trong moi thu muc co the truy cap cong khai. Ban cung co the cau hinh may chu cho phep liet ke thu muc, nhung dieu nay thuong la rui ro bao mat.
# In .htaccess or Apache config — set default index files
DirectoryIndex index.html index.php index.htm
# If you want to allow directory listing (not recommended for production):
Options +Indexes8. Tat cac plugin WordPress
Cac plugin bao mat nhu Wordfence, iThemes Security, Sucuri va All In One WP Security co the gay ra loi 403 bang cach chan cac yeu cau ma chung cho la dang ngo. Dieu nay thuong xay ra sau khi cap nhat plugin hoac thay doi quy tac.
De kiem tra, doi ten thu muc plugins qua FTP hoac SSH de tat tat ca cac plugin cung luc.
# Disable all plugins by renaming the folder
mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.bak
# If 403 goes away, re-enable plugins one by one:
mv /var/www/html/wp-content/plugins.bak /var/www/html/wp-content/plugins
# Then deactivate/reactivate each plugin from WordPress adminNeu loi 403 bien mat, bat lai cac plugin tung cai mot de tim ra thu pham. Kiem tra nhat ky tuong lua hoac bao mat cua plugin de tim cac yeu cau bi chan.
9. Kiem tra chan IP va quy tac tuong lua
Tuong lua cua may chu hoac bang dieu khien hosting co the dang chan cac dia chi IP, dai IP hoac toan bo quoc gia cu the. Dieu nay pho bien voi fail2ban, CSF (ConfigServer Security & Firewall) hoac danh sach chan o cap do hosting.
Kiem tra cac quy tac tuong lua va nhat ky may chu de xem cac dia chi IP hop phap co bi chan hay khong.
# Check if an IP is blocked by iptables
iptables -L -n | grep "203.0.113.50"
# Check fail2ban jail status
fail2ban-client status
# Unban a specific IP
fail2ban-client set <jail-name> unbanip 203.0.113.50
# Check Apache deny rules in server config
grep -r 'Deny from\|Require not ip' /etc/apache2/10. Xac minh chung chi SSL
Chung chi SSL het han hoac cau hinh sai co the gay ra loi 403, dac biet khi may chu yeu cau chung chi phia may khach hoac khi HTTPS duoc bat buoc nhung chung chi khong hop le.
Su dung cong cu SSL Checker cua DNS Robot de xac minh chung chi cua ban hop le, duoc ket noi dung cach va chua het han. Neu ban su dung Let's Encrypt, kiem tra xem tinh nang tu dong gia han co hoat dong khong.
# Check SSL certificate expiry from terminal
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewal
# Restart web server after renewal
sudo systemctl restart nginx # or apache211. Khac phuc Cloudflare 403 / Error 1020
Neu trang web cua ban nam sau Cloudflare, loi 403 co the den tu cac quy tac tuong lua cua Cloudflare, khong phai tu may chu goc. Cloudflare hien thi chung la Error 1020: Access Denied voi mot Ray ID.
Kiem tra bang dieu khien Cloudflare tai muc Security → Events de xem quy tac nao da kich hoat chan. Cac nguyen nhan pho bien bao gom Bot Fight Mode, quy tac WAF Managed Rules hoac cac quy tac tuong lua tuy chinh qua manh.
Security → WAF — xem xet cac quy tac tuy chinh, kiem tra xem cac duong dan hop phap co bi chan khong
Security → Events — tim Ray ID cu the va xem quy tac nao kich hoat chan
Security → Bots — Bot Fight Mode co the chan cac crawler va API client hop phap
Security Level — neu dat 'I'm Under Attack', tat ca nguoi truy cap thay trang xac minh
IP Access Rules — kiem tra xem dia chi IP hoac quoc gia cua ban co bi chan nham khong
12. Khac phuc Nginx 403 Forbidden
Nginx tra ve loi 403 doi voi mot so van de cau hinh cu the. Pho bien nhat: tien trinh worker cua Nginx khong co quyen doc tren cac tap tin, hoac chi thi autoindex bi tat cho thu muc khong co tap tin chi muc.
# Check Nginx error log for the exact cause
tail -f /var/log/nginx/error.log
# Common Nginx 403 causes and fixes:
# 1. Permission denied — Nginx runs as 'nginx' or 'www-data' user
# Fix: ensure the user running Nginx can read the files
chown -R nginx:nginx /var/www/html/
# 2. No index file in directory — add to server block:
location / {
index index.html index.php;
}
# 3. SELinux blocking access (CentOS/RHEL)
setsebool -P httpd_read_user_content 1
# Or set proper context:
chcon -R -t httpd_sys_content_t /var/www/html/SELinux la nguyen nhan thuong bi bo qua cua loi Nginx 403 tren cac he thong CentOS va RHEL. Ngay ca khi quyen truy cap tap tin chinh xac, SELinux co the chan tien trinh Nginx doc cac tap tin. Lenh chcon o tren khac phuc van de nay.
Gian loi 403 bang cac HTTP header
Khi ban khong the xac dinh nguyen nhan, hay kiem tra cac HTTP header phan hoi cua may chu. Chung thuong chua manh moi ve ly do yeu cau bi chan.
Su dung cong cu HTTP Headers cua DNS Robot hoac lenh curl trong terminal de xem phan hoi day du.
# Check response headers for a 403 page
curl -I https://example.com/restricted-page
# Look for these headers:
# X-Blocked-By: Wordfence → WordPress security plugin
# cf-ray: abc123-LAX → Cloudflare blocked it
# server: cloudflare → Cloudflare is in the path
# X-Sucuri-Block: 1 → Sucuri firewall
# X-WAF-Status: blocked → Web Application FirewallCac header nhu X-Blocked-By, cf-ray va cac header X-WAF tuy chinh cho ban biet chinh xac he thong nao dang chan yeu cau. Dieu nay thu hep pham vi xu ly su co xuong con tuong lua, CDN hoac plugin bao mat cu the chiu trach nhiem.
Loi 403 co anh huong den SEO khong?
Co, loi 403 co the lam giam thu hang tim kiem cua ban neu chung anh huong den cac trang co the thu thap duoc. Khi Googlebot gap loi 403, no coi trang do la bi chan va cuoi cung se loai bo khoi chi muc.
Mot vai loi 403 tren cac trang bi han che co chu dich (bang dieu khien quan tri, tap tin rieng tu) la binh thuong va se khong anh huong den SEO. Nhung neu noi dung cong khai tra ve 403, Google se ngung xep hang cac trang do trong vong vai ngay.
Kiem tra trong Google Search Console tai muc Pages → Not indexed → Blocked by 403 de xem Googlebot co bi chan khoi cac trang quan trong hay khong.
Cach ngan ngua loi 403
Phong ngua de dang hon xu ly su co. Hay lam theo cac tien hanh nay de tranh loi 403 tren trang web cua ban.
Dat quyen chinh xac tu dau — 755 cho thu muc, 644 cho tap tin, khong bao gio 777
Luon co tap tin chi muc — moi thu muc cong khai can index.html hoac index.php
Kiem tra thay doi .htaccess — sao luu tap tin truoc khi sua doi, kiem tra tung quy tac mot
Giam sat quy tac WAF — xem xet nhat ky Cloudflare, Sucuri hoac ModSecurity hang tuan
Them dia chi IP cua ban vao danh sach trang — dam bao dia chi IP cua van phong, nha va may chu trien khai deu nam trong danh sach trang
Su dung cong cu [HTTP Headers](/http-headers) — kiem tra thuong xuyen rang cac trang cua ban tra ve 200, khong phai 403
Thiet lap giam sat — su dung giam sat uptime de nhan canh bao khi cac trang bat dau tra ve 403
Kiem tra cac HTTP header phan hoi cua ban
Su dung cong cu HTTP Headers mien phi cua DNS Robot de kiem tra ngay lap tuc trang thai phan hoi, header va thong tin may chu cua bat ky URL nao.
Try HTTP HeadersFrequently Asked Questions
Loi 403 Forbidden co nghia la may chu da hieu yeu cau cua ban nhung tu choi cap quyen truy cap. Tai nguyen ton tai, nhung may chu da quyet dinh ban khong duoc phep xem no — ngay ca khi ban da dang nhap.