Nếu tôi sử dụng chức năng fopen()
của PHP để truy xuất dữ liệu từ một trang web HTTPS, đó là điều mà người ta gọi là kết nối HTTPS an toàn. tức là nó cung cấp sự bảo vệ chống lại các cuộc tấn công giữa người và trung gian và nghe lén?Fopen() của PHP có bảo vệ chống lại các cuộc tấn công điển hình khi truy cập tài nguyên https không?
Fopen() của PHP có bảo vệ chống lại các cuộc tấn công điển hình khi truy cập tài nguyên https không?
Trả lời
Không theo mặc định, không.
Nó sẽ luôn cung cấp một số hình thức bảo vệ chống lại các cuộc tấn công nghe trộm đơn giản vì dữ liệu sẽ luôn được mã hóa (miễn là máy chủ SSL mà bạn đang kết nối để cho phép sử dụng ít nhất một mật mã được mã hóa) được cho phép trong các kết nối HTTPS: roll-eyes :) Tuy nhiên, theo mặc định, nó sẽ không bảo vệ chống lại man-in-the-middle vì nó không xác nhận chứng chỉ của máy chủ, do đó bạn không thể tự tin rằng bạn đã kết nối với máy chủ dự định.
Xác thực chứng chỉ có thể được bật. Để làm như vậy, bạn sẽ cần cung cấp gói chứng chỉ gốc và sử dụng đối số thứ tư cho fopen
cho phép bạn chỉ định ngữ cảnh luồng. Luồng luồng cho phép bạn sửa đổi hành vi của luồng. Chuyển đổi ví dụ bên dưới làm cho chứng chỉ được xác thực dựa vào chứng chỉ gốc trong tệp bó được chỉ định.
$context = stream_context_create(array(
'ssl' => array(
'cafile' => 'ca_bundle.crt',
'verify_peer' => true
)
));
$file = fopen($url, 'r', false, $context);
- 1. HTTPS có bảo vệ chống lại các cuộc tấn công CSRF không?
- 2. Bảo vệ chống lại cuộc tấn công tiêm 'sqITFOR DELAY' sql injection?
- 3. Tự bảo vệ mình trước các cuộc tấn công Dos
- 4. SQL Server: Vệ sinh @ param chống lại các cuộc tấn công tiêm
- 5. SSL: Chứng chỉ được bảo vệ chống lại con người trong các cuộc tấn công ở giữa như thế nào?
- 6. cách bảo vệ Webservice chống lại tấn công từ chối dịch vụ?
- 7. Tấn công DDOS: bảo vệ bằng Thread.Sleep()?
- 8. Làm thế nào để bảo vệ chống lại truy cập trực tiếp vào hình ảnh?
- 9. Cookie bảo mật https có ngăn chặn các cuộc tấn công XSS không?
- 10. Bảo vệ chống lại muieblackcat BOT
- 11. Ngăn chặn các cuộc tấn công XSS
- 12. Bảo vệ Amazon Web Services (AWS) S3 khỏi các cuộc tấn công DDoS
- 13. AWS có bảo vệ trang web của tôi khỏi tấn công DDoS không?
- 14. Is (int) và is_int() có an toàn để bảo vệ chống lại việc tiêm SQL không?
- 15. Spring JDBC có cung cấp bất kỳ sự bảo vệ nào khỏi các cuộc tấn công SQL injection không?
- 16. GWT RPC - Liệu nó có đủ để bảo vệ chống lại CSRF không?
- 17. Làm thế nào để bảo vệ chống lại CSRF khi sử dụng Backbone.js để đăng dữ liệu?
- 18. Bảo vệ file PHP từ truy cập trực tiếp
- 19. Vệ sinh các thông số $ _GET để tránh XSS và các cuộc tấn công khác
- 20. Làm thế nào để bạn bảo vệ chống lại XSRF trong Grails?
- 21. Windows Azure có bất kỳ thứ gì sẵn có để chống lại các cuộc tấn công từ chối dịch vụ không?
- 22. truy cập từ điển tài nguyên trong mã wpf
- 23. Bảo vệ chống lại SQL injection trong python
- 24. OmniAuth: Bảo vệ chống lại nhiều tài khoản cho cùng một người dùng
- 25. Cách bảo vệ chống lại người dùng bằng nhiều tài khoản?
- 26. tiêm tấn công (Tôi nghĩ rằng tôi đã được bảo vệ!) <? Php/**/eval (base64_decode (ở khắp mọi nơi
- 27. Các cuộc tấn công CSRF có áp dụng cho API không?
- 28. Java: truy cập được bảo vệ qua các gói
- 29. Có nên bảo vệ thực thi chính nó chống lại quá tải dấu phẩy không?
- 30. .htaccess hoặc mã bảo vệ PHP chống lại nhiều yêu cầu nhanh chóng
Một điều bổ sung bạn có thể muốn làm là hạn chế tập hợp mật mã cho phép chỉ cho phép các hình thức mã hóa mạnh. Mật mã có sẵn mạnh nhất (cho phép bởi cả máy khách và máy chủ) nên được sử dụng theo mặc định; tuy nhiên, nếu bạn thực sự kén chọn, bạn có thể muốn từ chối các kết nối đến các máy chủ không hỗ trợ mức mã hóa đủ cao. Nếu có ai biết cách thực hiện điều này trong PHP, vui lòng đăng bài. – Cheekysoft