2012-05-14 28 views
5

Tôi thực sự đang cố gửi SMS bằng CDYNE và API của họ. Để làm điều đó, tôi đang sử dụng Java và HttpGet và HttpClient đối tượng (Httpcore và HttpClient libs). Tôi gửi yêu cầu tới URL https, gửi các thông số như https://www.example.com/SecureREST/SimpleSMSsend?PhoneNumber=ABC&Message=XYZYêu cầu java được gửi đến một địa chỉ HTTPS hoàn toàn an toàn chưa?

Có phải vấn đề bảo mật mà tôi đang sử dụng yêu cầu GET và tất cả các tham số đều nằm trong URL không? Điều gì sẽ xảy ra nếu nội dung của thông số Thư trong URL chứa thông tin nhạy cảm? Ai đó có thể đánh cắp mạng để giữ nội dung hoặc an toàn vì yêu cầu được gửi bằng HTTPS?

Tôi tin rằng chỉ www.example.com hiển thị trong quá trình bắt tay và khi việc này được thực hiện, mọi thứ đều được mã hóa nhưng tôi chỉ muốn đảm bảo.

+3

+1 để hỏi, thay vì chỉ đơn giản giả định rằng điều này có thể là an toàn. –

+2

Cài đặt http://www.wireshark.org/ và tự kiểm tra những gì được gửi trên mạng – Kristian

+0

Đồng ý, @TonyEnnis. –

Trả lời

3

Wikipedia is pretty clear about this:

Lưu ý rằng khi một khách hàng gửi một yêu cầu HTTPS, tên máy và cổng của URL đều không được mã hóa ... Tuy nhiên, tất cả các bộ phận khác của yêu cầu HTTPS, bao gồm các đường dẫn URL và truy vấn các thông số, chỉ có thể được giải mã bởi trang đích hoặc bởi một trung gian xen kẽ kết thúc kết nối HTTPS thay mặt cho trang web.

Vì vậy, niềm tin của bạn là đúng. Chỉ tên máy chủ và cổng được hiển thị công khai; phần còn lại của URL được mã hóa.

+3

Wikipedia cũng khá sai về điều này. Toàn bộ yêu cầu được mã hóa. Kẻ xâm nhập có thể phát hiện * bằng các phương tiện khác * ip: cổng đang được kết nối với, vv, nhưng chắc chắn không phải thông qua nội dung của yêu cầu. Đoạn Wiki liên quan chỉ được thêm vào tuần trước và nó sắp biến mất. – EJP

Các vấn đề liên quan