Tên ngang hàng sẽ được sử dụng. Nếu giá trị này không được đặt thì tên được đoán dựa trên tên máy chủ được sử dụng khi mở luồng
verify_peer
boolYêu cầu xác minh chứng chỉ SSL được sử dụng
Mặc định là true
verify_peer_name
boolYêu cầu xác minh tên ngang hàng
Mặc định là true
allow_self_signed
boolCho phép chứng chỉ tự ký. Đòi hỏi
Mặc định là false
tls://
0 chuỗiVị trí của tệp Cơ quan cấp chứng chỉ trên hệ thống tệp cục bộ sẽ được sử dụng với tùy chọn ngữ cảnh verify_peer
để xác thực danh tính của máy ngang hàng từ xa
tls://
2 chuỗiNếu tls://
0 không được chỉ định hoặc nếu không tìm thấy chứng chỉ ở đó, thì thư mục được chỉ định bởi tls://
2 sẽ được tìm kiếm để tìm chứng chỉ phù hợp. tls://
2 phải là thư mục chứng chỉ được băm chính xác
tls://
6 chuỗiĐường dẫn đến tệp chứng chỉ cục bộ trên hệ thống tệp. Nó phải là tệp được mã hóa PEM chứa chứng chỉ và khóa riêng của bạn. Nó có thể tùy chọn chứa chuỗi chứng chỉ của tổ chức phát hành. Khóa riêng cũng có thể được chứa trong một tệp riêng được chỉ định bởi tls://
7
tls://
7 chuỗiĐường dẫn đến tệp khóa riêng cục bộ trên hệ thống tệp trong trường hợp các tệp riêng biệt cho chứng chỉ [tls://
6] và khóa riêng
peer_name
0 chuỗiCụm mật khẩu mà tệp tls://
6 của bạn đã được mã hóa
peer_name
2 số nguyênHủy bỏ nếu chuỗi chứng chỉ quá sâu
Mặc định là không xác minh
peer_name
3 chuỗiĐặt danh sách các mật mã có sẵn. Định dạng của chuỗi được mô tả trong
Mặc định là peer_name
4
peer_name
5 boolNếu được đặt thành true
, tùy chọn ngữ cảnh peer_name
7 sẽ được tạo có chứa chứng chỉ ngang hàng
peer_name
8 boolNếu được đặt thành true
, tùy chọn ngữ cảnh verify_peer
0 sẽ được tạo có chứa chuỗi chứng chỉ
verify_peer
1 boolNếu được đặt thành true
chỉ báo tên máy chủ sẽ được bật. Kích hoạt SNI cho phép nhiều chứng chỉ trên cùng một địa chỉ IP
verify_peer
3 boolNếu được đặt, hãy tắt tính năng nén TLS. Điều này có thể giúp giảm thiểu vectơ tấn công TỘI ÁC
verify_peer
4 chuỗi. mảngHủy bỏ khi thông báo chứng chỉ từ xa không khớp với hàm băm đã chỉ định
Khi một chuỗi được sử dụng, độ dài sẽ xác định thuật toán băm nào được áp dụng, "md5" [32] hoặc "sha1" [40]
Khi một mảng được sử dụng, các phím cho biết tên thuật toán băm và mỗi giá trị tương ứng là thông báo dự kiến
verify_peer
5 intĐặt mức bảo mật. Nếu không được chỉ định, mức bảo mật mặc định của thư viện sẽ được sử dụng. Các cấp độ bảo mật được mô tả trong » SSL_CTX_get_security_level[3]
Có sẵn kể từ PHP 7. 2. 0 và OpenSSL 1. 1. 0
Nhật ký thay đổi
Phiên bảnMô tả7. 2. 0Đã thêmverify_peer
5. Yêu cầu OpenSSL >= 1. 1. 0ghi chú
Ghi chú. Bởi vì
ssl://
là phương tiện vận chuyển cơ bản cho các trình bao bọcverify_peer
8 vàverify_peer
9, bất kỳ tùy chọn ngữ cảnh nào áp dụng chossl://
cũng áp dụng choverify_peer
8 vàverify_peer
9
Ghi chú. Để SNI [Chỉ định tên máy chủ] khả dụng, thì PHP phải được biên dịch bằng OpenSSL 0. 9. 8j trở lên. Sử dụng
true
3 để xác định xem SNI có được hỗ trợ hay khôngTrong vài năm qua, chúng ta thường nghe rằng bảo mật là một yếu tố thiết yếu. Ngay cả khi đó là một trang web nhỏ chứa một vài trang thì vẫn cần phải bảo mật
Tôi sẽ cho bạn biết cách PHP phát hiện HTTPS
Ngoài ra, chúng ta nên biết về biến siêu toàn cầu trong PHP. Nó có sẵn trong tất cả các phạm vi
Siêu biến được biết phổ biến hơn ở bên dưới
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIEChúng tôi phải cài đặt chứng chỉ SSL trên máy chủ. Chúng ta có thể kiểm tra bằng cách sử dụng $_SERVER[‘HTTPS’]
Hết $_SERVERNhư chúng ta có thể thấy nếu chúng ta xuất $_SERVER. Nó sẽ hiển thị giá trị của HTTPS. Trong trường hợp này, nó bật nên HTTPS khả dụng
Ở đây chúng ta có một hàm PHP đơn giản và hiệu quả để kiểm tra xem HTTPS [thông qua SSL] có được sử dụng cho yêu cầu hiện tại hay không
function shapeSpace_check_https[] { if [[!empty[$_SERVER['HTTPS']] && $_SERVER['HTTPS'] !== 'off'] || $_SERVER['SERVER_PORT'] == 443] { return true; } return false; }
Hàm này kiểm tra giá trị của biến
$_SERVER['HTTPS']
để xem nó có chứa giá trị khác rỗng không bằng vớioff
không. Nếu cả hai điều kiện này đều đúng, HOẶC nếu biến$_SERVER['SERVER_PORT']
được đặt thành443
, hàm sẽ đánh giá là đúng. Vì vậy, chúng ta có thể sử dụng chức năng này như vậyif [shapeSpace_check_https[]] { // do something if HTTPS/SSL enabled } else { // do something if HTTPS/SSL not enabled }
Phần logic này về cơ bản kiểm tra giá trị của
shapeSpace_check_https[]
để chức năng cụ thể có thể được áp dụng trong cả hai trường hợp [i. e. , HTTPS bật hoặc HTTPS tắt]. Dễ như ăn bánhLàm cách nào để kiểm tra HTTPS trong URL trong PHP?
Vì vậy, sử dụng hàm $_SERVER['HTTPS'] trong hàm isset[] , dùng để kiểm tra xem nó có tồn tại hay không. Điều này cũng sẽ cho chúng tôi biết liệu HTTPS có được bật hay không. Kiểm tra giá trị của $_SERVER['HTTPS'], nếu nó ở trạng thái “on” thì HTTPS đã được bật và chúng ta phải thêm “https” vào URL.PHP có sử dụng HTTPS không?
Không liên quan đến thay đổi mã PHP . HTTPS có nghĩa là dữ liệu mà giao tiếp giữa trình duyệt và máy chủ web sẽ được mã hóa. Trình duyệt đã được thiết lập cho HTTPS, tất cả những gì bạn phải làm là định cấu hình máy chủ web của mình.Làm cách nào để gửi yêu cầu HTTPS trong PHP?
Để gửi yêu cầu HTTPS bằng Curl, chuyển điểm cuối đích hỗ trợ kết nối SSL trên dòng lệnh Curl . Curl sẽ tự động thiết lập kết nối SSL với máy chủ. Khi Curl gửi yêu cầu tới một URL HTTPS, nó sẽ kiểm tra chứng chỉ SSL dựa trên kho lưu trữ chứng chỉ của CA cục bộ.$_ máy chủ [' Request_uri '] là gì?
$_SERVER['REQUEST_URI'] chứa URI của trang hiện tại . Vì vậy, nếu đường dẫn đầy đủ của một trang là https. //www. w3resource. com/html/html-hướng dẫn. php, $_SERVER['REQUEST_URI'] sẽ chứa /html/html-tutorials. php. Mã php sau đã sử dụng biến $_SERVER['REQUEST_URI'].