Chỉ sử dụng PHP, dù sao cũng có để phát hiện nếu trang đang được tải từ một thiết bị cụ thể? Nói rằng, tôi muốn trang phản ứng khác nhau nếu chỉ có iPhone của tôi đang tải trang, không ai khác?
Giải pháp duy nhất tôi có cho đến nay là sử dụng $ _Server ['remote_port' kết hợp với $ _server ['http_user_agent'], để xác minh iPhone, nhưng điều đó không đảm bảo iPhone cụ thể ..specific iPhone..
Đã hỏi ngày 1 tháng 2 năm 2013 lúc 13:02Feb 1, 2013 at 13:02
1
$ _Server ['http_user_agent'] chứa thông tin về trình duyệt và thiết bị được sử dụng. Vì vậy, nếu bạn biết tác nhân người dùng - được gửi bởi thiết bị của bạn - thì bạn hoàn toàn có thể dễ dàng viết câu lệnh IF, điều đó sẽ xem đó có phải là câu hỏi bạn muốn hay không.
Tuy nhiên, thông thường bạn không thực sự muốn chơi với mục tiêu thủ công vào các thiết bị, đặc biệt là khi nói đến điện thoại di động. Hãy suy nghĩ về việc sử dụng một cái gì đó như Wurfl, một lớp cho phép bạn xác định một loại thiết bị đã tải trang web của bạn.
Nếu bạn muốn nhắm vào iPhone cụ thể, rất có thể bạn muốn so sánh tác nhân người dùng của nó với tác nhân người dùng của một mô hình khác. Nhưng theo như tôi biết - đó là phương pháp rất thiếu sót và không thực sự hoạt động trong một thời gian dài. Vì vậy, câu trả lời dài ngắn: Không có cách nào để nhắm đến một mô hình iPhone cụ thể (vì bất kỳ trong số chúng gửi dữ liệu gần như giống hệt nhau đến máy chủ nếu tất cả chúng đều có cùng một iOS và cùng một trình duyệt).
Đã trả lời ngày 1 tháng 2 năm 2013 lúc 13:08Feb 1, 2013 at 13:08
MarcinwolnymarcinwolnyMarcinWolny
1.5332 huy hiệu vàng24 Huy hiệu bạc39 Huy hiệu đồng2 gold badges24 silver badges39 bronze badges
xin chào, tôi là một noob tại PHP nhưng tôi đã đưa ra mã này để giải quyết vấn đề của tôi
<?php require_once './likebutton/app/init.php'; $new_key= uniqid().'_'.gethostbyaddr($_SERVER["REMOTE_ADDR"]); $md_key= md5($new_key); if(!isset($_COOKIE['visitor_id'])) { $check= $mysqli -> prepare("SELECT * FROM `unique_id_table` WHERE `unique_id`=?"); $check -> bind_param("s",$md_key); $check -> execute(); $check_result= $check -> get_result(); if($check_result -> num_rows > 0){ } else{ $insert= $mysqli -> prepare("INSERT INTO `unique_id_table`(`unique_id`) VALUES (?)"); $insert -> bind_param('s',$md_key); $insert -> execute(); setcookie('visitor_id',$md_key,time() + (86400*30), "/"); } } if(isset($_COOKIE['visitor_id'])) { echo "your id'" . $_COOKIE['visitor_id'] ; } else { echo "please refresh "; }Iam lưu trữ trong lưu trữ cookie Một ID duy nhất được tạo ngẫu nhiên thông qua hàm uniqid () sau đó lưu trữ ID trong bảng của tôi để xác định sau đó, khách truy cập quay lại nếu giá trị của chúng nằm trong bảng của tôi.
Đã trả lời ngày 10 tháng 5 lúc 12:29May 10 at 12:29
Chỉ khi thiết bị đó gửi thông tin đó.
Bạn có thể sử dụng cookie - có một trang thiết lập yêu cầu bạn đăng nhập, sau đó gửi cookie đến thiết bị. Từ đó trở đi, thiết bị của bạn sẽ gửi cookie đến các trang khác mà không cần phải đăng nhập lại.
Theo mặc định, các thiết bị không gửi số sê -ri hoặc bất kỳ phương tiện nào khác để xác định cụ thể một thiết bị, có lẽ vì điều này sẽ phá vỡ một số quy tắc bảo mật.
Đã trả lời ngày 1 tháng 2 năm 2013 lúc 13:05Feb 1, 2013 at 13:05
C.EvenhuisC.EvenhuisC.Evenhuis
25.5K2 Huy hiệu vàng59 Huy hiệu bạc71 Huy hiệu đồng2 gold badges59 silver badges71 bronze badges
1
Bằng cách sử dụng lớp PHP Mobile_Detect, bạn có thể phát hiện thiết bị di động của mình. Nó sử dụng chuỗi tác nhân người dùng kết hợp với các tiêu đề HTTP cụ thể để phát hiện môi trường di động.
Đã trả lời ngày 1 tháng 2 năm 2013 lúc 13:10Feb 1, 2013 at 13:10
Laxonlinelaxonlinelaxonline
2.6511 Huy hiệu vàng19 Huy hiệu bạc37 Huy hiệu đồng1 gold badge19 silver badges37 bronze badges
Sử dụng $ _Server ['http_user_agent'] không phải là một giải pháp, nếu có bản cập nhật trên thiết bị, điều đó sẽ thay đổi. Vì vậy, tôi sẽ sử dụng cookie cho nó.
Kế hoạch của tôi là tạo ID thiết bị như thế này:
$device_id = md5($_SERVER['HTTP_USER_AGENT']);Sau đó đẩy nó vào cơ sở dữ liệu và vào cookie. Và tôi sẽ kiểm tra nó vào đầu phiên, chỉ để cập nhật chúng. Vì vậy, tôi có thể phát hiện nếu ID này được thay đổi, vì vậy tôi luôn có thể có ID mới trong cookie và trong cơ sở dữ liệu, cookie cũng sẽ luôn mới - tùy thuộc vào cách HUA sẽ thay đổi trên thiết bị.
vimuth
4.36118 Huy hiệu vàng68 Huy hiệu bạc106 Huy hiệu Đồng18 gold badges68 silver badges106 bronze badges
Đã trả lời ngày 11 tháng 8 lúc 6:49Aug 11 at 6:49