{"id":1378,"date":"2011-10-15T09:19:40","date_gmt":"2011-10-15T07:19:40","guid":{"rendered":"http:\/\/www.nazca.hu\/?p=1378"},"modified":"2012-01-15T22:32:42","modified_gmt":"2012-01-15T21:32:42","slug":"php-bongeszo-azonositas-browscap-ini","status":"publish","type":"post","link":"http:\/\/dev.nazca.hu\/www\/2011\/10\/15\/php-bongeszo-azonositas-browscap-ini\/","title":{"rendered":"PHP b\u00f6ng\u00e9sz\u0151 azonos\u00edt\u00e1s (browscap.ini)"},"content":{"rendered":"<p>Nem mindenki haszn\u00e1lja ugyanazt a b\u00f6ng\u00e9sz\u0151t, \u00e9s nem minden b\u00f6ng\u00e9sz\u0151 viselkedik egyform\u00e1n. Ez\u00e9rt fontos, hogy olyan oldalakat tudjunk l\u00e9trehozni, melyek mentesek a b\u00f6ng\u00e9sz\u0151-specifikus tervez\u00e9si hib\u00e1kt\u00f3l, meg\u0151rzik konzisztenci\u00e1jukat az \u00f6sszes b\u00f6ng\u00e9sz\u0151ben vagy a l\u00e1togat\u00f3k k\u00e9pess\u00e9geinek\u00a0megfelel\u0151en legyenek specializ\u00e1lva.<!--more--><\/p>\n<p>A PHP tartalmazza a\u00a0<em>get_browser()<\/em> f\u00fcggv\u00e9nyt, amely megpr\u00f3b\u00e1lja meghat\u00e1rozni a felhaszn\u00e1l\u00f3 b\u00f6ng\u00e9sz\u0151j\u00e9nek k\u00e9pess\u00e9geit, a b\u00f6ng\u00e9sz\u0151 inform\u00e1ci\u00f3nak felkutat\u00e1s\u00e1val a <em>browscap.ini<\/em> f\u00e1jlban. A keres\u00e9s a <em>User Agent<\/em> alapj\u00e1n t\u00f6rt\u00e9nik, amelyhez a f\u00fcggv\u00e9ny alap\u00e9rtelmez\u00e9sben a <em>HTTP User-Agent<\/em> fejl\u00e9cet haszn\u00e1lja. A keres\u00e9s eredm\u00e9ny\u00e9t vagy objektumk\u00e9nt, vagy t\u00f6mbk\u00e9nt adja vissza. Az eredm\u00e9ny t\u00f6bbek k\u00f6z\u00f6tt tartalmazza a b\u00f6ng\u00e9sz\u0151 t\u00edpus\u00e1t, f\u0151- \u00e9s alverzi\u00f3j\u00e1t, JavaScript, frames \u00e9s cookies k\u00e9pess\u00e9geit.<\/p>\n<p>Azonban mindezek m\u0171k\u00f6d\u00e9s\u00e9hez felt\u00e9tlen\u00fcl sz\u00fcks\u00e9g van arra, hogy a <em>php.ini<\/em> f\u00e1jlban szerepeljen a <em>browscap<\/em>\u00a0konfigur\u00e1ci\u00f3s be\u00e1ll\u00edt\u00e1s, amelynek a <em>browscap.ini<\/em>\u00a0f\u00e1jl pontos hely\u00e9re kell mutatnia a rendszer\u00e9n.<\/p>\n<p>[plain][browscap]<br \/>\nbrowscap = \/usr\/local\/etc\/php\/extras\/browscap.ini[\/plain]<\/p>\n<p>A <em>browscap.ini<\/em> f\u00e1jlt nem tartalmazza a PHP, de itt tal\u00e1lhat egy naprak\u00e9sz <a href=\"http:\/\/browsers.garykeith.com\/downloads.asp\" target=\"_blank\">php_browscap.ini<\/a> f\u00e1jlt.<\/p>\n<h3>P\u00e9lda a haszn\u00e1latra<\/h3>\n<p>A k\u00f6vetkez\u0151 p\u00e9ld\u00e1val ellen\u0151rizhet\u0151 a <em>get_browser()<\/em> f\u00fcggv\u00e9ny helyes m\u0171k\u00f6d\u00e9se:<\/p>\n<p>[php]&lt;?php<br \/>\necho $_SERVER[&#8216;HTTP_USER_AGENT&#8217;] . &quot;\\n&quot;;<br \/>\nprint_r (get_browser( null, true ));<br \/>\n?&gt;[\/php]<\/p>\n<p>Az eredm\u00e9ny \u00edgy n\u00e9z ki:<\/p>\n<p>[plain]Mozilla\/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko\/20100101 Firefox\/8.0&lt;\/pre&gt;<br \/>\nArray<br \/>\n (<br \/>\n [browser_name_regex] =&gt; ^mozilla\/5\\.0 (.*windows nt 6\\.1.*wow64.*rv:.*) gecko\/.* firefox\/8\\..*$<br \/>\n [browser_name_pattern] =&gt; Mozilla\/5.0 (*Windows NT 6.1*WOW64*rv:*) Gecko\/* Firefox\/8.*<br \/>\n [parent] =&gt; Firefox 8.0<br \/>\n [platform] =&gt; Win7<br \/>\n [win32] =&gt;<br \/>\n [win64] =&gt; 1<br \/>\n [browser] =&gt; Firefox<br \/>\n [version] =&gt; 8.0<br \/>\n [majorver] =&gt; 8<br \/>\n [frames] =&gt; 1<br \/>\n [iframes] =&gt; 1<br \/>\n [tables] =&gt; 1<br \/>\n [cookies] =&gt; 1<br \/>\n [javasscript] =&gt; 1<br \/>\n [javaapplets] =&gt; 1<br \/>\n [cssversion] =&gt; 3<br \/>\n [minorver] =&gt; 0<br \/>\n [alpha] =&gt;<br \/>\n [beta] =&gt;<br \/>\n [win16] =&gt;<br \/>\n [backgroundsounds] =&gt;<br \/>\n [vbscript] =&gt;<br \/>\n [activexcontrols] =&gt;<br \/>\n [isbanned] =&gt;<br \/>\n [ismobiledevice] =&gt;<br \/>\n [issyndicationreader] =&gt;<br \/>\n [crawler] =&gt;<br \/>\n [aolversion] =&gt; 0<br \/>\n )[\/plain]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nem mindenki haszn\u00e1lja ugyanazt a b\u00f6ng\u00e9sz\u0151t, \u00e9s nem minden b\u00f6ng\u00e9sz\u0151 viselkedik egyform\u00e1n. Ez\u00e9rt fontos, hogy olyan oldalakat tudjunk l\u00e9trehozni, melyek mentesek a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,67],"tags":[69,70,65],"_links":{"self":[{"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/posts\/1378"}],"collection":[{"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/comments?post=1378"}],"version-history":[{"count":5,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/posts\/1378\/revisions"}],"predecessor-version":[{"id":1959,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/posts\/1378\/revisions\/1959"}],"wp:attachment":[{"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/media?parent=1378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/categories?post=1378"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dev.nazca.hu\/www\/wp-json\/wp\/v2\/tags?post=1378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}