Trong hướng dẫn htaccess này, chúng tôi sẽ chỉ cho bạn cách ngăn chặn truy cập trực tiếp tệp/URL của trang web của bạn. Đôi khi chủ sở hữu trang web không muốn người dùng đó có thể truy cập trực tiếp vào tệp zip, CSS, v.v.
Để ngăn truy cập trực tiếp, bạn cần thêm đoạn mã bên dưới vào tệp .htaccess
htaccess
RewriteEngine on
# script to stop direct link of zip and css file
RewriteCond %{HTTP_REFERER} !^//[www\.]?example[NC]
RewriteCond %{HTTP_REFERER} !^//[www\.]?example.*$ [NC]
RewriteRule \.[zip|css]$ //www.example.com[R,L]
Bạn có thể thêm nhiều phần mở rộng tệp bằng cách ORing ký hiệu pipe[|]
[gif|zip|png|js|css|bmp]
Người giới thiệu
- Kiểm soát quyền truy cập – Máy chủ HTTP Apache Phiên bản 2. 4
- Hướng dẫn máy chủ HTTP Apache. . tập tin htaccess
Trước
Tiếp theo
bài viết tương tự
- Eclipse/STS – Tối ưu hóa/Xóa các phím tắt nhập không sử dụng
- Làm cách nào để tạo Đĩa đặt lại mật khẩu cho Windows 7?
- Làm cách nào để bật tùy chọn Hibernate trong Windows 8?
- Làm cách nào để tìm kiếm tệp Java, JSP trong Eclipse IDE?
- Cách cài đặt Maven trên Windows
- Cách chuyển hướng từ HTTP sang HTTPS trên Tomcat Server
- Cách tạo thư viện người dùng trong Eclipse IDE
- Cách đặt độ dài dòng tối đa trong Eclipse/STS
- Cách nhập Dự án web Java trong Eclipse
- Cách xem tiêu đề HTTP trong Mozilla Firefox
Giới thiệu về tác giả
//mywebsite.com/src/php
Kết quả từ yêu cầu trên, có khả năng sẽ gây ra một thư rác email lớn từ tệp biểu mẫu liên hệ php. Mặc dù chúng tôi thực hiện một số xác thực Javascript để ngăn biểu mẫu liên hệ bị trống. Hộp thư đến của chúng tôi có thể chứa đầy email bao gồm nội dung trống [ngoại trừ email được mã hóa cứng]
Vậy làm cách nào để ngăn truy cập url trực tiếp vào “php form-contact”? . //trang web của tôi. com/src/php, thì tệp php sẽ không được thực thi và thay vào đó, nó sẽ trả về thông báo lỗi
Có hai cách có thể để chạy
1. Đặt mã này ở đầu biểu mẫu liên hệ. php
tiêu đề ['HTTP/1. 0 403 Forbidden', TRUE, 403 ];” . Một số thích 404 ngay cả khi tệp tồn tại. Tôi thích chọn 403 Forbidden hơn
cái chết [tiêu đề ['vị trí. /lỗi. php’ ] ];” . Trong trường hợp này, tôi đã tạo ra một lỗi. trang php bên dưới
$status = $_SERVER['REDIRECT_STATUS'];$codes = array[403 => array['403 Forbidden', 'The server has refused to fulfill your request.'],404 => array['404 Not Found', 'The document/file requested was not found on this server.'],405 => array['405 Method Not Allowed', 'The method specified in the Request-Line is not allowed for the specified resource.'],408 => array['408 Request Timeout', 'Your browser failed to send a request in the time allowed by the server.'],500 => array['500 Internal Server Error', 'The request was unsuccessful due to an unexpected condition encountered by the server.'],502 => array['502 Bad Gateway', 'The server received an invalid response from the upstream server while trying to fulfill the request.'],504 => array['504 Gateway Timeout', 'The upstream server failed to send a request in the time allowed by the server.'],];$title = $codes[$status][0];$message = $codes[$status][1];if [$title == false || strlen[$status] != 3] {$message = 'Please supply a valid status code.';}echo ''.$title.'
'.$message.'
';
hoặc nếu bạn muốn tạo một cách tiếp cận đơn giản hơn, bạn có thể làm điều này
Vì vậy, khi người dùng truy cập vào “form-contact. php” bằng cách gõ trực tiếp URL, nó sẽ hiện ra trang báo lỗi như thế này
truy cập bị từ chối
2. sửa đổi tập tin. htaccess
Một cách khác bạn có thể thử là sửa đổi. htaccess như thế này;
RewriteEngine on
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^php/check.php$ - [NC,R=404,L]
Điều này sẽ trả về 404 không tìm thấy nếu biểu mẫu liên hệ. php không được truy cập bằng phương thức đăng mẫu
Tôi thấy rằng những cách trên hoạt động như tôi muốn. Chỉ cần thêm mã đó vào đầu mỗi tệp bạn muốn chặn truy cập URL trực tiếp và bạn đã sẵn sàng
Tất nhiên là tôi có thể sai và nếu bạn có bất kỳ giải pháp nào hoặc có sai sót từ các cách tiếp cận trên, đừng ngần ngại chia sẻ giải pháp của bạn