Làm cách nào để ngăn tệp truy cập URL trực tiếp?

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

  1. Kiểm soát quyền truy cập – Máy chủ HTTP Apache Phiên bản 2. 4
  2. 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

Làm cách nào để ngăn truy cập URL trực tiếp vào các tệp của tôi từ bên ngoài trang web của tôi?

Bật “Hiển thị tệp ẩn” để xem. Bây giờ hãy xóa bộ nhớ cache của bạn và thử truy cập trực tiếp vào tệp . Bạn sẽ nhận được Lỗi Cấm, nhưng bạn sẽ có thể mở và tải xuống các tệp từ các trang trên trang web của mình.

Làm cách nào để ngăn truy cập URL trực tiếp trong Javascript?

Một cách để đạt được điều này là sử dụng "tài liệu. thuộc tính người giới thiệu" .

Làm cách nào để ngăn người dùng truy cập trực tiếp vào trang HTML của tôi bằng cách viết URL?

Trường hợp có vấn đề => www. ví dụ. com/trang2. html => trang2. .
Đăng biểu mẫu của bạn lên tập lệnh php [chẳng hạn như đăng nhập. php]
Tập lệnh kiểm tra chi tiết đăng nhập và đặt cookie
trang 2. thay vào đó, html phải là php và kiểm tra cookie trước khi hiển thị HTML

Làm cách nào để hạn chế truy cập URL trực tiếp trong PHP?

or if you prefer to create a way more simpler approach, you can do this:

Chủ Đề