Khi chạy tập lệnh của tôi, tôi gặp một số lỗi như thế này. Cảnh báo. Không thể sửa đổi thông tin tiêu đề - tiêu đề đã được gửi bởi [đầu ra bắt đầu tại /some/file. php. 12] trong /some/file. php trực tuyến
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*09
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*10
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*11
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*12
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*13
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*14
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*15
apache. htaccess cho phép người dùng định cấu hình các thư mục của máy chủ web mà họ kiểm soát mà không cần sửa đổi tệp cấu hình chính
Mặc dù điều này hữu ích, nhưng điều quan trọng cần lưu ý là việc sử dụng các tệp
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*2 làm chậm Apache, vì vậy, nếu bạn có quyền truy cập vào tệp cấu hình máy chủ chính [thường được gọi là
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*3], bạn nên thêm logic này vào đó dưới một khối
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*4
Nhìn thấy. htaccess trong trang web tài liệu HTTPD của Apache để biết thêm chi tiết về những gì. tập tin htaccess có thể làm
Phần còn lại của tài liệu này sẽ thảo luận về các tùy chọn cấu hình khác nhau mà bạn có thể thêm vào
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*2 và chức năng của chúng
Hầu hết các khối sau sử dụng lệnh IfModule để chỉ thực thi các lệnh bên trong khối nếu mô-đun tương ứng được cấu hình đúng và máy chủ đã tải nó. Bằng cách này, chúng tôi sẽ cứu máy chủ của mình khỏi bị sập nếu mô-đun không được tải
Chuyển hướng
Đôi khi chúng ta cần thông báo cho người dùng rằng tài nguyên đã được di chuyển, tạm thời hoặc vĩnh viễn. Đây là những gì chúng tôi sử dụng
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*6 và
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*7 cho
# Redirect to a URL on a different host Redirect "/service" "//foo2.example.com/service" # Redirect to a URL on the same host Redirect "/one" "/two" # Equivalent redirect to URL on the same host Redirect temp "/one" "/two" # Permanent redirect to a URL on the same host Redirect permanent "/three" "/four" # Redirect to an external URL # Using regular expressions and RedirectMatch RedirectMatch "^/oldfile\.html/?$" "//example.com/newfile.php"
Các giá trị có thể có cho tham số đầu tiên được liệt kê bên dưới. Nếu tham số đầu tiên không được bao gồm, nó sẽ mặc định là
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*8dài hạn
Trả về trạng thái chuyển hướng vĩnh viễn [301] cho biết tài nguyên đã được di chuyển vĩnh viễn
nhiệt độTrả về trạng thái chuyển hướng tạm thời [302]. Đây là mặc định
nước sôiTrả về trạng thái "Xem Khác" [303] cho biết tài nguyên đã được thay thế
Không cònTrả về trạng thái "Đã qua" [410] cho biết tài nguyên đã bị xóa vĩnh viễn. Khi trạng thái này được sử dụng, đối số URL sẽ được bỏ qua
Tài nguyên có nguồn gốc chéo
Nhóm lệnh đầu tiên kiểm soát quyền truy cập CORS [Chia sẻ tài nguyên gốc chéo] vào tài nguyên từ máy chủ. CORS là cơ chế dựa trên tiêu đề HTTP cho phép máy chủ chỉ ra nguồn gốc bên ngoài [tên miền, giao thức hoặc cổng] mà trình duyệt sẽ cho phép tải tài nguyên
Vì lý do bảo mật, các trình duyệt hạn chế các yêu cầu HTTP có nhiều nguồn gốc được bắt đầu từ các tập lệnh. Ví dụ: XMLHttpRequest và Fetch API tuân theo chính sách cùng nguồn gốc. Một ứng dụng web sử dụng các API đó chỉ có thể yêu cầu tài nguyên từ cùng một nguồn gốc mà ứng dụng đã được tải trừ khi phản hồi từ các nguồn gốc khác bao gồm các tiêu đề CORS thích hợp
Truy cập CORS chung
Chỉ thị này sẽ thêm tiêu đề CORS cho tất cả các tài nguyên trong thư mục từ bất kỳ trang web nào
________số 8
Trừ khi bạn ghi đè lệnh sau này trong cấu hình hoặc trong cấu hình của một thư mục bên dưới nơi bạn đặt lệnh này, mọi yêu cầu từ các máy chủ bên ngoài sẽ được thực hiện, đây không phải là điều bạn muốn
Một cách khác là nêu rõ tên miền nào có quyền truy cập vào nội dung trang web của bạn. Trong ví dụ bên dưới, chúng tôi hạn chế quyền truy cập vào tên miền phụ của trang web chính của chúng tôi [ví dụ. com]. Điều này an toàn hơn và có thể là những gì bạn định làm
Header set Access-Control-Allow-Origin "subdomain.example.com"
Hình ảnh gốc chéo
Như đã báo cáo trong Blog Chromium và được ghi lại trong Cho phép sử dụng hình ảnh và canvas trên nhiều nguồn gốc có thể dẫn đến các cuộc tấn công lấy dấu vân tay
Để giảm thiểu khả năng xảy ra các cuộc tấn công này, bạn nên sử dụng thuộc tính
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*9 trong hình ảnh bạn yêu cầu và đoạn mã bên dưới trong
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*2 của bạn để đặt tiêu đề CORS từ máy chủ
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
Hướng dẫn khắc phục sự cố Google Fonts của Google Chrome cho chúng tôi biết rằng mặc dù Google Fonts có thể gửi tiêu đề CORS với mọi phản hồi, một số máy chủ proxy có thể loại bỏ nó trước khi trình duyệt có thể sử dụng nó để hiển thị phông chữ
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*3
Thời gian nguồn gốc chéo
Đặc tả Cấp độ Thời gian Tài nguyên 1 xác định giao diện cho các ứng dụng web để truy cập thông tin thời gian đầy đủ cho các tài nguyên trong tài liệu
Tiêu đề phản hồi Timing-Allow-Origin chỉ định các nguồn gốc được phép xem giá trị của các thuộc tính được truy xuất thông qua các tính năng của API Thời gian tài nguyên, nếu không sẽ được báo cáo là 0 do các hạn chế về nguồn gốc chéo
Nếu một tài nguyên không được cung cấp với một
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*31 hoặc nếu tiêu đề không bao gồm nguồn gốc, thì sau khi thực hiện yêu cầu, một số thuộc tính của đối tượng
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*32 sẽ được đặt thành 0
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*6
Trang / Thông báo lỗi tùy chỉnh
Apache cho phép bạn cung cấp các trang lỗi tùy chỉnh cho người dùng tùy thuộc vào loại lỗi mà họ nhận được
Các trang lỗi được trình bày dưới dạng URL. Các URL này có thể bắt đầu bằng dấu gạch chéo [/] cho các đường dẫn web cục bộ [so với DocumentRoot] hoặc là một URL đầy đủ mà khách hàng có thể giải quyết
Xem tài liệu Chỉ thị ErrorDocument trên trang web tài liệu HTTPD để biết thêm thông tin
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*7
ngăn ngừa lỗi
Cài đặt này ảnh hưởng đến cách MultiViews hoạt động đối với thư mục mà cấu hình áp dụng cho
Tác dụng của
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*33 như sau. nếu máy chủ nhận được yêu cầu cho /some/dir/foo, nếu /some/dir đã bật
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*33 và /some/dir/foo không tồn tại, thì máy chủ sẽ đọc thư mục tìm kiếm các tệp có tên foo. * và giả mạo một cách hiệu quả một bản đồ loại đặt tên cho tất cả các tệp đó, gán cho chúng các loại phương tiện và mã hóa nội dung giống nhau nếu khách hàng yêu cầu một trong số chúng theo tên. Sau đó, nó chọn kết quả phù hợp nhất với yêu cầu của khách hàng
Cài đặt vô hiệu hóa
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*33 cho thư mục mà cấu hình này áp dụng và ngăn Apache trả về lỗi 404 do viết lại khi thư mục có cùng tên không tồn tại
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*1
Loại phương tiện và mã hóa ký tự
Apache sử dụng mod_mime để gán siêu dữ liệu nội dung cho nội dung được chọn cho phản hồi HTTP bằng cách ánh xạ các mẫu trong URI hoặc tên tệp cho các giá trị siêu dữ liệu
Ví dụ: phần mở rộng tên tệp của tệp nội dung thường xác định loại phương tiện Internet, ngôn ngữ, bộ ký tự và mã hóa nội dung của nội dung. Thông tin này được gửi trong các thông báo HTTP có chứa nội dung đó và được sử dụng trong thương lượng nội dung khi chọn các lựa chọn thay thế, sao cho tùy chọn của người dùng được tôn trọng khi chọn một trong số các nội dung có thể để phân phát
Thay đổi siêu dữ liệu cho tệp không thay đổi giá trị của tiêu đề Lần sửa đổi cuối cùng. Do đó, các bản sao được lưu trong bộ nhớ cache trước đó vẫn có thể được sử dụng bởi máy khách hoặc proxy, với các tiêu đề trước đó. Nếu bạn thay đổi siêu dữ liệu [ngôn ngữ, loại nội dung, bộ ký tự hoặc mã hóa], bạn có thể cần phải 'chạm' vào các tệp bị ảnh hưởng [cập nhật ngày sửa đổi gần đây nhất của chúng] để đảm bảo rằng tất cả khách truy cập đều nhận được tiêu đề nội dung đã sửa
Cung cấp tài nguyên với các loại phương tiện thích hợp [a. k. a. loại MIME]
Liên kết các loại phương tiện với một hoặc nhiều tiện ích mở rộng để đảm bảo tài nguyên sẽ được phục vụ phù hợp
Máy chủ nên sử dụng văn bản/javascript cho các tài nguyên JavaScript như được chỉ ra trong đặc tả HTML
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*2
Đặt thuộc tính Charset mặc định
Mỗi phần nội dung trên web đều có một bộ ký tự. Hầu hết, nếu không muốn nói là tất cả, nội dung là UTF-8 Unicode
Sử dụng AddDefaultCharset để phục vụ tất cả các tài nguyên được gắn nhãn là
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*36 hoặc
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*37 với bộ ký tự
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*38
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*6
Đặt bộ ký tự cho các loại phương tiện cụ thể
Phục vụ các loại tệp sau với tham số
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*39 được đặt thành
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*38 bằng cách sử dụng lệnh AddCharset có sẵn trong
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*61
Header set Access-Control-Allow-Origin "*"0
Mod_rewrite và các chỉ thị RewriteEngine
mod_rewrite cung cấp một cách để sửa đổi các yêu cầu URL đến một cách linh hoạt, dựa trên các quy tắc biểu thức chính quy. Điều này cho phép bạn ánh xạ các URL tùy ý vào cấu trúc URL nội bộ của mình theo bất kỳ cách nào bạn muốn
Nó hỗ trợ vô số quy tắc và vô số điều kiện quy tắc đính kèm cho mỗi quy tắc để cung cấp một cơ chế thao tác URL thực sự linh hoạt và mạnh mẽ. Các thao tác URL có thể phụ thuộc vào các thử nghiệm khác nhau. biến máy chủ, biến môi trường, tiêu đề HTTP, dấu thời gian, tra cứu cơ sở dữ liệu bên ngoài và nhiều chương trình hoặc trình xử lý bên ngoài khác, có thể được sử dụng để đạt được đối sánh URL chi tiết
Bật mod_rewrite
Mẫu cơ bản để bật
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*62 là điều kiện tiên quyết cho tất cả các tác vụ khác sử dụng
Các bước cần thiết là
- Bật công cụ viết lại [điều này là cần thiết để các lệnh
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
63 hoạt động] như được ghi lại trong tài liệu RewriteEngine - Bật tùy chọn
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
64 nếu chưa có. Xem tài liệu Tùy chọn cốt lõi - Nếu máy chủ lưu trữ web của bạn không cho phép tùy chọn
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
65, bạn cần bình luận hoặc xóa nó, sau đó bỏ ghi chú dòngSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
66, nhưng lưu ý về tác động hiệu suất- Một số dịch vụ lưu trữ đám mây sẽ yêu cầu bạn đặt
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
67 - Xem Câu hỏi thường gặp về Rackspace và tài liệu HTTPD
- Tùy thuộc vào cách thiết lập máy chủ của bạn, bạn cũng có thể cần sử dụng lệnh
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
68 để bật một số tùy chọn cho công cụ viết lại
- Một số dịch vụ lưu trữ đám mây sẽ yêu cầu bạn đặt
Header set Access-Control-Allow-Origin "*"1
Buộc https
Các quy tắc Viết lại này sẽ chuyển hướng từ phiên bản không an toàn
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*69 sang phiên bản an toàn
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*70 của URL như được mô tả trong wiki HTTPD của Apache
Header set Access-Control-Allow-Origin "*"2
Nếu bạn đang sử dụng cPanel AutoSSL hoặc phương pháp webroot Let's Encrypt để tạo chứng chỉ SSL, chứng chỉ sẽ không thể xác thực nếu yêu cầu xác thực được chuyển hướng đến HTTPS. Bật [các] điều kiện bạn cần
Header set Access-Control-Allow-Origin "*"3
Chuyển hướng từ www. URL
Những chỉ thị này sẽ viết lại
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*71 thành
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*72
Bạn không nên sao chép nội dung ở nhiều nguồn gốc [có và không có www]; Điều này có thể gây ra các vấn đề về SEO [nội dung trùng lặp] và do đó, bạn nên chọn một trong các lựa chọn thay thế và chuyển hướng sang trang khác. Bạn cũng nên sử dụng các URL chính tắc để cho biết công cụ tìm kiếm sẽ thu thập dữ liệu URL nào [nếu chúng hỗ trợ tính năng này]
Đặt biến
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*73, để cho phép viết lại tự động chuyển hướng với lược đồ phù hợp [http hoặc https]
Theo mặc định, quy tắc giả định rằng cả hai môi trường HTTP và HTTPS đều khả dụng để chuyển hướng
Header set Access-Control-Allow-Origin "*"4
Chèn www. ở đầu URL
Các quy tắc này sẽ chèn
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*74 vào đầu URL. Điều quan trọng cần lưu ý là bạn không bao giờ được cung cấp cùng một nội dung dưới hai URL khác nhau
Điều này có thể gây ra các vấn đề về SEO [nội dung trùng lặp] và do đó, bạn nên chọn một trong các phương án thay thế và chuyển hướng phương án khác. Đối với các công cụ tìm kiếm hỗ trợ chúng, bạn nên sử dụng URL Canonical để cho biết công cụ tìm kiếm sẽ thu thập dữ liệu URL nào
Đặt biến
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*73, để cho phép viết lại tự động chuyển hướng với lược đồ phù hợp [http hoặc https]
Theo mặc định, quy tắc giả định rằng cả hai môi trường HTTP và HTTPS đều khả dụng để chuyển hướng. Nếu chứng chỉ SSL của bạn không thể xử lý một trong các miền được sử dụng trong quá trình chuyển hướng, bạn nên bật điều kiện
Những điều sau đây có thể không phải là ý kiến hay nếu bạn sử dụng tên miền phụ "thực" cho một số phần nhất định trên trang web của mình
Header set Access-Control-Allow-Origin "*"5
Tùy chọn khung
Ví dụ bên dưới gửi tiêu đề phản hồi
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*76 với giá trị DENY, thông báo cho các trình duyệt không hiển thị nội dung của trang web trong bất kỳ khung nào để bảo vệ trang web khỏi clickjacking
Đây có thể không phải là cài đặt tốt nhất cho mọi người. Bạn nên đọc về hai giá trị có thể khác cho tiêu đề
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*76.
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*78 và
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*79
Mặc dù bạn có thể gửi tiêu đề
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*76 cho tất cả các trang trên trang web của mình, nhưng điều này có nhược điểm tiềm ẩn là nó cấm ngay cả mọi khung nội dung của bạn [e. g. khi người dùng truy cập trang web của bạn bằng trang kết quả Tìm kiếm hình ảnh của Google]
Tuy nhiên, bạn nên đảm bảo rằng bạn gửi tiêu đề
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*76 cho tất cả các trang cho phép người dùng thực hiện thao tác thay đổi trạng thái [e. g. , các trang chứa liên kết mua bằng một cú nhấp chuột, trang xác nhận thanh toán hoặc chuyển khoản ngân hàng, các trang thực hiện thay đổi cấu hình vĩnh viễn, v.v. ]
Header set Access-Control-Allow-Origin "*"6
Chính sách bảo mật nội dung [CSP]
CSP [Chính sách bảo mật nội dung] giảm thiểu rủi ro của kịch bản chéo trang và các cuộc tấn công chèn nội dung khác bằng cách đặt một
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*12 cho phép các nguồn nội dung đáng tin cậy cho trang web của bạn
Không có chính sách nào phù hợp với tất cả các trang web, ví dụ bên dưới là hướng dẫn để bạn sửa đổi cho trang web của mình
Chính sách ví dụ dưới đây
Để làm cho việc triển khai CSP của bạn dễ dàng hơn, bạn có thể sử dụng trình tạo tiêu đề CSP trực tuyến. Bạn cũng nên sử dụng trình xác thực để đảm bảo tiêu đề của bạn thực hiện những gì bạn muốn.
Header set Access-Control-Allow-Origin "*"7
truy cập thư mục
Lệnh này sẽ ngăn truy cập vào các thư mục không có tệp chỉ mục ở bất kỳ định dạng nào mà máy chủ được định cấu hình để sử dụng, chẳng hạn như
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*13 hoặc
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*14
Header set Access-Control-Allow-Origin "*"8
Chặn quyền truy cập vào các tập tin và thư mục ẩn
Trong các hệ thống Macintosh và Linux, các tệp bắt đầu bằng dấu chấm sẽ bị ẩn khỏi chế độ xem nhưng không truy cập được nếu bạn biết tên và vị trí của chúng. Các loại tệp này thường chứa các tùy chọn của người dùng hoặc trạng thái được bảo toàn của tiện ích và có thể bao gồm các vị trí khá riêng tư, chẳng hạn như thư mục
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*15 hoặc
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*16
Thư mục
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*17 đại diện cho tiền tố đường dẫn chuẩn [RFC 5785] cho "các vị trí nổi tiếng" [e. g.
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*18,
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*19], và do đó, quyền truy cập vào nội dung hiển thị của nó sẽ không bị chặn
Header set Access-Control-Allow-Origin "*"9
Chặn quyền truy cập vào các tệp có thông tin nhạy cảm
Chặn quyền truy cập vào các tệp nguồn và sao lưu mà một số trình soạn thảo văn bản có thể để lại và có thể gây rủi ro bảo mật khi bất kỳ ai có quyền truy cập vào chúng
Cập nhật biểu thức chính quy
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*20 trong ví dụ sau để bao gồm bất kỳ tệp nào có thể kết thúc trên máy chủ sản xuất của bạn và có thể tiết lộ thông tin nhạy cảm về trang web của bạn. Những tập tin này có thể bao gồm. tệp cấu hình hoặc tệp chứa siêu dữ liệu về dự án trong số những tệp khác
Header set Access-Control-Allow-Origin "subdomain.example.com"0
Bảo mật truyền tải nghiêm ngặt HTTP [HSTS]
Nếu người dùng gõ
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*72 trong trình duyệt của họ, ngay cả khi máy chủ chuyển hướng họ đến phiên bản bảo mật của trang web, điều đó vẫn để lại cơ hội [kết nối HTTP ban đầu] để kẻ tấn công hạ cấp hoặc chuyển hướng yêu cầu
Tiêu đề sau đảm bảo rằng trình duyệt chỉ kết nối với máy chủ của bạn qua HTTPS, bất kể người dùng nhập gì vào thanh địa chỉ của trình duyệt
Xin lưu ý rằng Bảo mật vận chuyển nghiêm ngặt không thể hủy bỏ được và bạn phải đảm bảo có thể phục vụ trang web qua HTTPS miễn là bạn đã chỉ định trong chỉ thị
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*22. Nếu bạn không còn kết nối TLS hợp lệ nữa [e. g. do chứng chỉ TLS đã hết hạn], khách truy cập của bạn sẽ thấy thông báo lỗi ngay cả khi cố gắng kết nối qua HTTP
Header set Access-Control-Allow-Origin "subdomain.example.com"1
Ngăn một số trình duyệt MIME đánh hơi phản hồi
- Theo mặc định, hạn chế tất cả các lần tìm nạp đối với nguồn gốc của trang web hiện tại bằng cách đặt chỉ thị
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
23 thànhSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
24 - đóng vai trò dự phòng cho tất cả các chỉ thị Tìm nạp- Điều này thuận tiện vì bạn không phải chỉ định tất cả các chỉ thị Tìm nạp áp dụng cho trang web của mình, chẳng hạn như.
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
25, v.v. - Hạn chế này cũng có nghĩa là bạn phải xác định rõ ràng [những] trang web nào mà trang web của bạn được phép tải tài nguyên từ đó, nếu không, nó sẽ bị hạn chế ở cùng nguồn gốc với trang đưa ra yêu cầu
- Điều này thuận tiện vì bạn không phải chỉ định tất cả các chỉ thị Tìm nạp áp dụng cho trang web của mình, chẳng hạn như.
- Không cho phép phần tử
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
26 trên trang web. Điều này nhằm ngăn kẻ tấn công thay đổi vị trí của tài nguyên được tải từ các URL tương đối- Nếu bạn muốn sử dụng phần tử
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
26, hãy sử dụngSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
28 để thay thế
- Nếu bạn muốn sử dụng phần tử
- Chỉ cho phép gửi biểu mẫu từ nguồn gốc hiện tại với.
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
29 - Ngăn chặn tất cả các trang web [bao gồm cả trang web của bạn] nhúng các trang web của bạn vào e. g. phần tử
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
60 hoặcSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
61 bằng cách đặt.SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
62- Chỉ thị
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
63 giúp tránh các cuộc tấn công clickjacking và tương tự như tiêu đềSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
76 - Các trình duyệt hỗ trợ tiêu đề CSP sẽ bỏ qua
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
76 nếuSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
63 cũng được chỉ định
- Chỉ thị
- Buộc trình duyệt xử lý tất cả các tài nguyên được cung cấp qua HTTP như thể chúng được tải an toàn qua HTTPS bằng cách đặt chỉ thị
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
67SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
67 không đảm bảo HTTPS cho điều hướng cấp cao nhất. Nếu bạn muốn buộc trang web tải qua HTTPS, bạn phải bao gồm tiêu đềSetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*
69
- Bao gồm tiêu đề
Header set Access-Control-Allow-Origin "*"
00 trong tất cả các phản hồi có thể thực thi tập lệnh. Điều này bao gồm các loại tệp thường được sử dụng. Tài liệu HTML, XML và PDF. Mặc dù các tệp JavaScript không thể thực thi các tập lệnh trong "bối cảnh duyệt web", nhưng chúng được đưa vào để nhắm mục tiêu nhân viên web
Một số trình duyệt cũ hơn sẽ thử và đoán loại nội dung của tài nguyên, ngay cả khi nó không được thiết lập đúng trên cấu hình máy chủ. Điều này làm giảm nguy cơ bị tấn công tải xuống theo ổ đĩa và rò rỉ dữ liệu giữa các nguồn gốc
Header set Access-Control-Allow-Origin "subdomain.example.com"2
Chính sách giới thiệu
Chúng tôi bao gồm tiêu đề
Header set Access-Control-Allow-Origin "*"01 trong phản hồi cho các tài nguyên có thể yêu cầu [hoặc điều hướng đến] các tài nguyên khác
Điều này bao gồm các loại tài nguyên thường được sử dụng. HTML, CSS, XML/SVG, tài liệu PDF, tập lệnh và công nhân
Để ngăn hoàn toàn rò rỉ liên kết giới thiệu, thay vào đó hãy chỉ định giá trị
Header set Access-Control-Allow-Origin "*"02. Lưu ý rằng hiệu ứng này có thể tác động tiêu cực đến các công cụ phân tích
Sử dụng các dịch vụ như bên dưới để kiểm tra Chính sách giới thiệu của bạn
- bảo mật. com
- Đài thiên văn Mozilla
Header set Access-Control-Allow-Origin "subdomain.example.com"3
Vô hiệu hóa phương thức TRACE HTTP
Phương pháp TRACE, mặc dù có vẻ vô hại, nhưng có thể được tận dụng thành công trong một số trường hợp để đánh cắp thông tin xác thực của người dùng hợp pháp. Xem Tấn công theo dõi chéo trang [XST] và Hướng dẫn kiểm tra bảo mật web OWASP
Các trình duyệt hiện đại hiện ngăn các yêu cầu TRACE được thực hiện qua JavaScript, tuy nhiên, các cách khác để gửi yêu cầu TRACE bằng trình duyệt đã được phát hiện, chẳng hạn như sử dụng Java
Nếu bạn có quyền truy cập vào tệp cấu hình máy chủ chính, hãy sử dụng lệnh
Header set Access-Control-Allow-Origin "*"03 để thay thế
Header set Access-Control-Allow-Origin "subdomain.example.com"4
Xóa tiêu đề phản hồi X-Powered-By
Một số framework như PHP và ASP. NET đặt tiêu đề
Header set Access-Control-Allow-Origin "*"04 chứa thông tin về chúng [e. g. tên của họ, số phiên bản]
Tiêu đề này không cung cấp bất kỳ giá trị nào và trong một số trường hợp, thông tin mà nó cung cấp có thể làm lộ các lỗ hổng
Header set Access-Control-Allow-Origin "subdomain.example.com"5
Nếu có thể, bạn nên tắt tiêu đề
Header set Access-Control-Allow-Origin "*"04 ở cấp độ ngôn ngữ/khuôn khổ [e. g. đối với PHP, bạn có thể làm điều đó bằng cách thiết lập như sau trong
Header set Access-Control-Allow-Origin "*"06
Header set Access-Control-Allow-Origin "subdomain.example.com"6
Xóa chân trang thông tin máy chủ do Apache tạo
Ngăn không cho Apache thêm một dòng cuối trang có chứa thông tin về máy chủ vào các tài liệu do máy chủ tạo ra [e. g. thông báo lỗi, danh sách thư mục, v.v. ]. Xem Chỉ thị Chữ ký Máy chủ để biết thêm thông tin về những gì chữ ký máy chủ cung cấp và Chỉ thị ServerTokens để biết thông tin về cách định cấu hình thông tin được cung cấp trong chữ ký
Header set Access-Control-Allow-Origin "subdomain.example.com"7
Sửa các tiêu đề AcceptEncoding bị hỏng
Một số proxy và phần mềm bảo mật xáo trộn hoặc loại bỏ tiêu đề HTTP
Header set Access-Control-Allow-Origin "*"07. Xem Đẩy ngoài Gzipping để được giải thích chi tiết hơn
Header set Access-Control-Allow-Origin "subdomain.example.com"8
Nén các loại phương tiện
Nén tất cả đầu ra được gắn nhãn bằng một trong các loại phương tiện sau bằng cách sử dụng Chỉ thị AddOutputFilterByType
Header set Access-Control-Allow-Origin "subdomain.example.com"9
Bản đồ tiện ích mở rộng cho các loại phương tiện
Ánh xạ các phần mở rộng tên tệp sau sang loại mã hóa được chỉ định bằng cách sử dụng AddEncoding để Apache có thể phục vụ các loại tệp với tiêu đề phản hồi
Header set Access-Control-Allow-Origin "*"08 thích hợp [điều này sẽ KHÔNG làm cho Apache nén chúng. ]. Nếu các loại tệp này được cung cấp mà không có tiêu đề phản hồi
Header set Access-Control-Allow-Origin "*"08 thích hợp, các ứng dụng khách [e. g. trình duyệt] sẽ không biết rằng trước tiên họ cần giải nén phản hồi và do đó, sẽ không thể hiểu nội dung
SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=*IS_CORS*0
Hết hạn bộ nhớ
Cung cấp các tài nguyên có ngày hết hạn trong tương lai xa bằng cách sử dụng mô-đun mod_expires và các tiêu đề Kiểm soát bộ đệm và Hết hạn