2011-12-08 33 views
9

Có bất kỳ tiêu đề HTTP nào có thể sử dụng để phát hiện số người dùng thiết bị di động khác với tiêu đề X này x-up-calling-line-id không?Phát hiện MSISDN (số điện thoại di động) bằng trình duyệt

Tôi muốn phát hiện từ tất cả các trình duyệt càng nhiều càng tốt để trang trải tất cả điện thoại di động nền tảng.

+3

Tôi gần như chắc chắn rằng nếu DID này tồn tại, nó sẽ bị khai thác vì mục đích xấu nhanh hơn bạn có thể nói "vi phạm tính toàn vẹn cá nhân". –

+0

Nó có thể yêu cầu sự cho phép của người dùng. – zehelvion

Trả lời

30

Tôi sẽ cung cấp cho bạn câu trả lời chính xác giống như tôi đã đưa ra cho một câu hỏi rất giống như nó sẽ cung cấp một số thông tin chi tiết về những gì bạn đang cố gắng đạt được.

Khả năng nhận được MSISDN của người dùng truy cập trang WAP phụ thuộc vào một số điều.

Thứ nhất, người dùng phải ở trên Dữ liệu di động. Nếu người dùng đang ở trên WiFi thì bạn sẽ không nhận được thông tin này.

Thứ hai, mạng di động của người dùng phải hỗ trợ việc truyền MSISDN trong tiêu đề HTTP.

Một số mạng di động gửi tiêu đề trên tất cả các yêu cầu. Những người khác chỉ gửi nếu đi qua một APN cụ thể. Một số chỉ gửi tiêu đề này đến các địa chỉ/khối IP cụ thể. Tôi thậm chí đã đi qua các mạng gửi MSISDN dưới dạng biến $ _GET. Bạn sẽ cần phải kiểm tra với mỗi mạng mà bạn dự định hỗ trợ. Ví dụ: một mạng cụ thể ở Nam Phi đã sử dụng để gửi MSISDN trong tiêu đề cho đến khoảng 6 tháng trước và để nhận MSISDN trong tiêu đề, địa chỉ máy chủ của bạn cần phải được đưa vào danh sách trắng với chúng. Cũng cần nhớ rằng các tiêu đề rất dễ bị giả mạo và không nên dựa vào trừ khi bạn được đảm bảo rằng bạn là người khởi tạo của yêu cầu HTTP, chẳng hạn như trong trường hợp bạn đang sử dụng Chế độ xem web bên trong Ứng dụng Android - bạn sẽ cần phải đặt đủ các biện pháp tại chỗ.

Với tất cả những lưu ý đó, đây là những gì bạn cần tìm kiếm:

Xem qua tiêu đề của bạn cho bất kỳ nội dung nào sau đây. Đây không phải là một danh sách đầy đủ các tiêu đề MSISDN ở tất cả, họ chỉ là những người tôi đã đi qua trong cuộc phiêu lưu của tôi trong phát triển di động.

  • X-MSISDN
  • X_MSISDN
  • HTTP_X_MSISDN
  • X-UP-KÊU GỌI-LINE-ID
  • X_UP_CALLING_LINE_ID
  • HTTP_X_UP_CALLING_LINE_ID
  • X_WAP_NETWORK_CLIENT_MSISDN

Những gì tôi làm là chạy qua các tiêu đề tìm kiếm bất kỳ kết quả phù hợp nào.Nếu tôi không tìm thấy bất kỳ kết quả nào, tôi chạy lại các tiêu đề bằng cách sử dụng một regex MSISDN theo quốc gia so với các giá trị để xem có bất kỳ MSISDN tiềm năng nào trong các tiêu đề trên các khóa mà tôi không biết. Nếu tôi tìm thấy một kết hợp tiềm năng, tôi thêm khóa và dữ liệu vào danh sách mà tôi có thể thực hiện sau để thêm vào danh sách các tiêu đề MSISDN đã biết của tôi.

Tôi hy vọng điều này đã mua một số rõ ràng. Điều quan trọng nhất cần nhớ là đây không phải là phương pháp đáng tin cậy để nhận được MSISDN.

+0

là điều này giống như tung ra một APP - là MSISDN có thể truy cập vào các ứng dụng? –

+0

Một APP có thể chỉ cần yêu cầu số từ điện thoại được cài đặt. –

+0

@CaptainKenpachi và điện thoại có thể giả mạo –

3

Thành thật mà nói, bạn sẽ không muốn tính năng này tất cả. Giả sử bạn truy cập vài trang web và họ nắm bắt số điện thoại của bạn từ tiêu đề "x-up-calling-line-id". Và các trang web này bán số điện thoại của bạn cho các nhà tiếp thị qua điện thoại. Bạn có muốn ở trong tình huống đó không?

Lý do kỹ thuật khác. Phone number không bao giờ được lưu trữ trên điện thoại (thông thường). Thẻ SIM được xác định bằng số IMSI và Home Location Registry (tại MSC) chứa một mục nhập bản đồ IMSI đến số điện thoại. Vì vậy, để trả lời câu hỏi của bạn, điều này là không thể.

+0

có. Tôi nghĩ tốt hơn nên hỏi telco là khách hàng của chúng tôi. – kitokid

+0

Điều này có trả lời câu hỏi của bạn không ?. Nếu vậy, bạn có thể chọn nó như một. –

1

Sử dụng apache_request_headers() trong PHP để lấy MSISDN. nhưng, mạng di động của người dùng phải hỗ trợ việc truyền MSISDN trong các tiêu đề HTTP.

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