PHP ile tarayıcı tespiti
Bu yazımızda, sitemize gelen kullanıcıların hangi web taratıcıyı kullandıklarını tespit edeceğiz. Bir yazılımda ağırlıklı JavaScript kullanmıştım, bilindiği gibi JavaScript ağırlıklı olarak istemci tarafından çalışan bir betik dilidir ve her tarayıcıda farklı sonuçlar üretebilir. Bazı tarayıcılarda yazdığınız javascript kodları hiç çalışmayabilir. Bu durumda yapmanız gereken tüm tarayıcılarda web sitenizi test edip, kullanıcıya teslim etmeden yazılımda meydana gelebilecek aksaklıkları tespit etmektir.
Benim yaptığım yazılımdaki JavaScript kodları Mozilla Firefox'da çalışmıyordu, daha login ekranındayken bunu tespit edip, kullanıcıya tarayıcıyı değiştirmesini söyleyebilirsiniz. Ya da dilerseniz, web sitenize gelen kullanıcıların hangi web tarayıcıyı kullandıklarını kaydedip, daha sonra istatistiksel analizler çıkarabilirsiniz.

Şimdi aşağıdaki getBrowser() fonksiyonunu inceleyelim.
function getBrowser()
Benim yaptığım yazılımdaki JavaScript kodları Mozilla Firefox'da çalışmıyordu, daha login ekranındayken bunu tespit edip, kullanıcıya tarayıcıyı değiştirmesini söyleyebilirsiniz. Ya da dilerseniz, web sitenize gelen kullanıcıların hangi web tarayıcıyı kullandıklarını kaydedip, daha sonra istatistiksel analizler çıkarabilirsiniz.

Şimdi aşağıdaki getBrowser() fonksiyonunu inceleyelim.
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Bilinmiyor';
$platform = 'Bilinmiyor';
$version= "";
//Hangi platformdan gelmiş, Linux, Windows, MacOSX?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
//Sonra hangi tarayıcı olduğuna göz atalım
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}
// Tarayıcının versiyon numarasını tespit edelim.
// burada düzenli ifadeler kullanarak bakıyoruz.
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) .
')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// buraya kadar bulamadık, aramaya devam
}
$i = count($matches['browser']);
if ($i != 1) {
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
$version= $matches['version'][0];
}
else {
$version= $matches['version'][1];
}
}
else {
$version= $matches['version'][0];
}
if ($version==null || $version=="") {$version="?";}
return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}

Şimdi bu fonksiyonun nasıl kullanıldığına bakalım.
echo "<br><br>Mozilla Firefox dışında bir tarayıcı kullanılıyor, girebilir.";

Şimdi bu fonksiyonun nasıl kullanıldığına bakalım.
$ua=getBrowser();
$tarayici= "Web tarayıcınız: " . $ua['name'] . " " . $ua['version'] . " " .$ua['platform'];
print_r($tarayici);
//Örneğin mozilla Firefox kullananların girmesini istemiyorsak
if ($ua['name']=='Mozilla Firefox')
{
echo "<center>";
echo "<h2>Mozilla Firefox tarayıcısı desteklenmiyor.</h2><br>" ;
echo "<h4>Lütfen Internet Explorer, Opera, Safari, Chrome tarayıcılarından birini kullanınız.</h4>";
echo "</center>";
} else {
echo "<br><br>Mozilla Firefox dışında bir tarayıcı kullanılıyor, girebilir.";
}
Programın tam çalışan halini aşağıdaki linke tıklayarak görebilir ya da programı indirebilirsiniz. Yoğunluktan biraz ara verdim, en kısa sürede yeni makaleler yazacağım.
ÇALIŞAN HALİ
KAYNAK KODU İNDİR
İyi çalışmalar...
Oğuzhan TAŞ - 2014
Programın tam çalışan halini aşağıdaki linke tıklayarak görebilir ya da programı indirebilirsiniz. Yoğunluktan biraz ara verdim, en kısa sürede yeni makaleler yazacağım.
ÇALIŞAN HALİ
KAYNAK KODU İNDİR
İyi çalışmalar...
Oğuzhan TAŞ - 2014

Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: Excel hücrelerinde yıldız koyarak b...
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?