Câu trả lời được yêu cầu
Sự thật là, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
không có hiệu lực . Nó là một hằng số không được sử dụng. Tôi vừa xác minh điều này bằng cách quét mã nguồn
.
Vì vậy, câu hỏi của bạn vẫn là:Các kết nối MySQLi có kiểm tra chứng chỉ máy chủ theo mặc định không?
Câu trả lời ngắn gọn: Có , họ đang có.
Câu trả lời dài:Mặc dù chứng chỉ không khớp với danh sách Tổ chức phát hành chứng chỉ thường được tin cậy , CA đã cung cấp (ngay cả khi tự ký) vẫn được xác minh khi thiết lập kết nối để giảm thiểu Các cuộc tấn công MITM .
Câu trả lời từ góc độ kỹ thuật
Khi kết nối với máy chủ MySQL, tôi hoàn toàn không khuyên bạn nên sử dụng kết nối SSL, vì chúng tạo thêm một số lớp bất lợi (mã hóa, băng thông, giải mã, tăng mức sử dụng bộ nhớ, tăng thời gian vòng quay tổng thể). Một cách tiếp cận tốt hơn nhiều là kết nối trong một mạng cục bộ đáng tin cậy hoặc sử dụng một số loại giao diện SOAP đã được xác thực tốt để truy xuất và thao tác dữ liệu nếu máy chủ phải nằm ngoài mạng cục bộ theo thiết kế (trong trường hợp đó, thiết kế có vẻ sai).