检测用户是否正在使用iDevice

Is there a way to detect if a user is using an iDevice WITHOUT reading the user-agent (which could easily be spoofed)? I want to have a mobile version (which will have no captcha), but desktop version will have captcha, so I want to use any other methods of checking other than UA-checks.

According to what I know, you can't detected mobile phones without user-agent. In fact, there is no any other function that check the mobile device..

You can check this lightweight class for detection of moblie devices:

https://code.google.com/p/php-mobile-detect/

First, as @bwoebi said, there is no other way to reliably check to see if they are on iOS.

However, you could say something like; OK, mobile devices have a screen size < Y * X, so I could just check the screen size. Unfortunately, this is also easily spoofed - by resizing the browser window.

In the end, it's probably not a good idea to skip Captcha for anyone. Just use it or don't - hackers are smart enough to set the user agent or resize thier browser. Also, it's not like people on Mobile can't solve Captchas.

I just used mobile detect about 30 min ago, it works PERFECTLY and easy to implement all you put in your code is:

// Check for a specific platform with the help of the magic methods:
if( $detect->isiOS() ){
    // do code here
}

and it will do that code. easy to use. Just put include 'includes/Mobile_Detect.php'; $detect = new Mobile_Detect(); at the top of your page and it works fine.

Mobile Detect.net