Detecting Mobile Browsers

Marco Ramilli
Date
10 July 2010
Read
Share

Hi folks,

this morning I went through this interesting project called Open Source Mobile Phone Detection . This web site does not only recognize if a mobile phone is surfing on it but it provides a great set of open source scripts to detect them.

Basically it provides a great regular expression within all (?, well I am not sure about "all") the mobile user agents. The following code is the php version (click on the image to expand it).

As you might see the code is simple and clear. The core of the script is the following regular expression:
/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|operam(ob|in)i|palm(os)|phone|p(ixi|re)/|plucker|pocket|psp|symbian|treo|up.
(browser|link)|vodafone|wap|windows(ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|
6590|3gso|4thp|50[1-6]i|770s|802s|awa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)
|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r|s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw
-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|
dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1u|g560
|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp(i|ip)|hs-c|ht(c(-||_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac(||/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|
ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|/)|klon|kpt|kwc-|kyo(c|k)|le(no|xi)|lg(g|/(k|l|u)|50|54|e-
|e/|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(di|rc|ri)|mi(o8|oa|ts)
|mmef|mo(01|02|bi|de|do|t(-||o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[02]|n20[23]|n30(0|2)|n50(0|2|5)
|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|
pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[03]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83
|85|98)|w3c(-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(-|2|g)|yas-|your|zeto|zte-/i


I believe it is a great open source project especially for web-masters who need to know exactly who is surfing on their web sites.

Marco Ramilli
Date
10 July 2010
Read
Share
← Go back
Latest Posts

i-SOON Data Leak: Key Points

Introduction i-SOON (上海安洵), a prominent contractor for various Chinese government agencies such […]

Date
26.02.2024
Duration
5 min
Text
Marco Ramilli

X Gold Badges: a new proliferating market

When I saw a threat actor hijacking the X account of Google's […]

Date
08.01.2024
Duration
5 min
Text
Marco Ramilli

Technical Data Sheet: LOCKBIT 3.0

LOCKBIT 3.0 is a notorious Ransomware Group that was first identified on […]

Date
20.12.2023
Duration
5 min
Text
Marco Ramilli
1 2 3 236
Back to Top
magnifier