<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>user-agent &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/user-agent/</link>
	<description>Feed of posts on WordPress.com tagged "user-agent"</description>
	<pubDate>Tue, 24 Nov 2009 16:06:02 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Getting rid of IE6]]></title>
<link>http://thisisnotatypo.wordpress.com/2009/11/08/getting-rid-of-ie6/</link>
<pubDate>Sun, 08 Nov 2009 09:00:11 +0000</pubDate>
<dc:creator>vife</dc:creator>
<guid>http://thisisnotatypo.wordpress.com/2009/11/08/getting-rid-of-ie6/</guid>
<description><![CDATA[Like most developers I find cross-browser compatibility on of the major head aches. Depending on the]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">Like most developers I find cross-browser compatibility on of the major head aches. Depending on the project we develop, we target a few browser to support and thankfully ignore the rest. We all have our favorite javascript snippet which determines if the client uses IE6 and attach a different style-sheet to accompany for any flaws but recently I got fed up with that.</p>
<p style="text-align:justify;">I wanted to figure out a better way to filter out those obsolete browsers because I want to develop for todays market and not build websites which looked great 3 years ago. And secondly, I don’t like using Javascript. I admit, that’s because I’m not an expert in it, but do we really need to attach a few lines of codes to every page? As a stuborn .NET developer there had to be a better way.<br />
<!--more--><br />
Now first let me say that I’m not the best coder in the world. I’m half manager, a quarter front-end and a quarter back-end held together with some css-glue but this got the job done neatly.</p>
<p style="text-align:justify;">At first I was looking for an asp.net(vb) way to get rid of the Javascript. Since we develop our websites with Masterpages, that seemed like the perfect place to stuck some nifty code in the code-behind file and it would automatically spread throughout the rest of the website. It had to be present at every page because you never know where someone might come in from a search engine or a direct link. But that’s not the most efficient way of coding, cause it would only cause overhead and extra loading time on each page. A colleague of mine suggested to still use this method and have a cookie store wether the client has already been verified. Ofcourse this would work, but it wouldn’t save you much time if you had to check for a cookie status with each page load.</p>
<p style="text-align:justify;">Finally I turned to an old dusty book (one I really should read someday from cover to back instead of just reading the interesting pages) called ‘Professional ASP.NET’ and there was the solution on page 89… ‘global.asax’! To my recollection this was the file which was used for application events, but aparrently it has a neat item called ‘Session_Start’. Perfect!</p>
<p>So here we go, the full code is at the bottom of the page if you can’t wait. First we grab the user agent string by and filter it out to see if it is 6.0:</p>
<p><code><br />
Dim clientUserAgent As String = Request.UserAgent<br />
Dim clientMSIEversion As Integer = 0<br />
clientMSIEversion = Val((Mid(clientUserAgent, ((Strings.InStr(clientUserAgent, "MSIE ") + 5)), 1)))<br />
</code></p>
<p style="text-align:justify;">Well that was really the hard part. Now it’s just up to us to determine what we’ll do with those old clients. We opted to not support them anymore and give them a stone-cold redirect to an upgrade page.</p>
<p style="text-align:justify;">For that we grab the hostname first and then send them to our upgrade page. If you wonder why we need to grab the hostname first and not enter a hardcoded url it’s because this way you can use it as a template file and roll it out to all your websites without any modification. And best of all, you can filter the hostname to check if you are running the website internally and then not redirect so you could still do browser testing.</p>
<p><code><br />
Dim HostName As String = Request.ServerVariables("HTTP_HOST").ToLower<br />
If clientMSIEversion &#62; 0 AndAlso clientMSIEversion 0 Then<br />
Server.ClearError()<br />
Response.Redirect("HTTP://" &#38; HostName &#38; "/web_browser_upgrade.aspx", False)<br />
Context.ApplicationInstance.CompleteRequest()<br />
End If<br />
</code></p>
<p style="text-align:justify;">In our case we test to see if the hostname contains ‘.tld’ which is our internal testing naming system but you could also substitute it with an ip-nummer or some other means of verification.</p>
<p style="text-align:justify;">Since we will put this code inside the subroutine ‘Session_Start’ of the global.asax file it will only run once at the time when a user first establishes a session with our website. No extra overhead on our webpages, no sessions to track but in my opinion a clean .net way to filter out old clients.</p>
<p style="text-align:justify;">Hope it’s useful for you aswell.<br />
J.</p>
<p><code><br />
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)<br />
' Code that runs when a new session is started<br />
' ---<br />
' Redirect client in case of Internet Explorer 6 or below<br />
Dim clientUserAgent As String = Request.UserAgent<br />
Dim clientMSIEversion As Integer = 0<br />
Dim HostName As String = Request.ServerVariables("HTTP_HOST").ToLower<br />
clientMSIEversion = Val((Mid(clientUserAgent, ((Strings.InStr(clientUserAgent, "MSIE ") + 5)), 1)))<br />
If clientMSIEversion &#62; 0 AndAlso clientMSIEversion 0 Then<br />
Server.ClearError()<br />
Response.Redirect("HTTP://" &#38; HostName &#38; "/web_browser_upgrade.aspx", False)<br />
Context.ApplicationInstance.CompleteRequest()<br />
End If<br />
' ---<br />
End Sub<br />
</code></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Helpful Hints - Apple Movie Trailers download using Firefox, Greasemonkey, and User Agent hack]]></title>
<link>http://mirzmaster.wordpress.com/2009/10/09/helpful-hints-apple-movie-trailers-download-using-firefox-greasemonkey-and-user-agent-hack/</link>
<pubDate>Fri, 09 Oct 2009 04:08:42 +0000</pubDate>
<dc:creator>Sohail Mirza</dc:creator>
<guid>http://mirzmaster.wordpress.com/2009/10/09/helpful-hints-apple-movie-trailers-download-using-firefox-greasemonkey-and-user-agent-hack/</guid>
<description><![CDATA[You can&#39;t stop us Apple! Only a few days ago I was disappointed to find that Apple had once agai]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_257" class="wp-caption alignright" style="width: 285px"><img class="size-full wp-image-257" title="apple_mob" src="http://mirzmaster.wordpress.com/files/2009/10/apple_mob.jpg" alt="You can't stop us Apple!" width="275" height="243" /><p class="wp-caption-text">You can&#39;t stop us Apple!</p></div>
<p>Only a few days ago I was <a href="http://mirzmaster.wordpress.com/2009/10/06/apple-movie-trailer-downloads-are-broken-yet-again/">disappointed</a> to find that Apple had once again broken movie trailer downloads for non-iTunes users.  Thanks to the input of a few commentators on this blog, I think I&#8217;ve found a new workaround for Firefox/Greasemonkey users.</p>
<p>The workaround uses a combination of the most excellent <a href="http://userscripts.org/scripts/show/2484">Apple Trailer Download script</a> by zatic (<strong>not</strong> <a href="http://userscripts.org/scripts/show/57184">my modified version</a> &#8212; I&#8217;ll get to this in just a bit), and a modification to the User Agent string that Firefox uses to identify itself to websites.</p>
<p>First of all, you&#8217;ll need to download this great experimental Firefox addon, <a href="https://addons.mozilla.org/en-US/firefox/addon/11327">HeaderControl</a> (<strong>Disclaimer</strong>: always use caution with beta/experimental software.  I&#8217;m not responsible for any harm you may cause your computer).  What we&#8217;ll be using HeaderControl for is to enable a modified User Agent string for only the Apple trailer download site.  Some of you may have the popular <a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher</a> extension installed, which could work as well, but I chose HeaderControl for this workaround because it allows <em>per-domain</em> user-agent switching.  The &#8220;per-domain&#8221; bit means I don&#8217;t have to keep switching the Firefox user agent for the trailers site, and back again.</p>
<p>Now, once you&#8217;ve installed HeaderControl, reboot Firefox and bring up the preferences dialog for HeaderControl.</p>
<div id="attachment_258" class="wp-caption aligncenter" style="width: 489px"><img class="size-full wp-image-258" title="headercontrol_options" src="http://mirzmaster.wordpress.com/files/2009/10/headercontrol_options.png" alt="HeaderControl Options dialog." width="479" height="308" /><p class="wp-caption-text">HeaderControl Options dialog.</p></div>
<p>Clicking the &#8220;Add&#8221; button, go ahead and create a new per-domain configuration for the domain, <strong>movies.apple.com</strong>, and specify the custom user agent string <strong>&#8220;Quicktime/7.6.2</strong>&#8220;.  Note that you&#8217;ll only need to choose the &#8220;Mangle HTTP &#8216;UserAgent&#8217;&#8221; option.  You can leave alone the Referer and Language tabs.</p>
<div id="attachment_259" class="wp-caption aligncenter" style="width: 544px"><img class="size-full wp-image-259" title="headercontrol_suffix_properties" src="http://mirzmaster.wordpress.com/files/2009/10/headercontrol_suffix_properties.png" alt="Make sure the suffix is &#34;movies.apple.com&#34; and that you have the user agent correct." width="534" height="305" /><p class="wp-caption-text">Make sure the suffix is &#34;movies.apple.com&#34; and that you have the user agent correct.</p></div>
<p>Press &#8220;OK&#8221; to commit the new per-domain filter, and you&#8217;ll be good to go.</p>
<p>For those of you who do not care to download the trailers but  just want to watch the trailers in your browser, <strong>you should be good to go</strong>.  Go ahead, hit up the trailers site and watch <a href="http://www.apple.com/trailers/fox_searchlight/fantasticmrfox/">something special</a>.</p>
<p>For those of you who want to download the trailers but don&#8217;t know how, you can refer to my <a href="http://mirzmaster.wordpress.com/2007/07/15/helpful-hints-downloading-hd-trailers-from-apple-trailers/">original instructions</a>, which should now work again.</p>
<p>Finally, if you&#8217;re amongst those who followed the steps in my <a href="http://mirzmaster.wordpress.com/2009/08/20/apple-movie-trailer-downloads-are-broken/">previous post</a> on the issue of Apple trailer download breakage by installing my <a href="http://userscripts.org/scripts/show/57184">modified</a> Apple trailer download Greasemonkey script, then you have one more step to complete:  <strong>disable my script and go back to using the <a href="http://userscripts.org/scripts/show/2484">original</a> Apple Trailer Download script by <a href="http://userscripts.org/users/3156">zatic</a>.</strong></p>
<div id="attachment_260" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-260" title="greasemonkey-disable_my_script" src="http://mirzmaster.wordpress.com/files/2009/10/greasemonkey-disable_my_script.png" alt="Disable my &#34;fixed&#34; script.  It's no longer required." width="650" height="341" /><p class="wp-caption-text">Disable my &#34;fixed&#34; script.  It&#39;s no longer required.</p></div>
<p>Once you&#8217;ve done this you should find yourself able to download movie trailers from Apple&#8217;s site once again.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[User Agent Switcher]]></title>
<link>http://ubuntulady.wordpress.com/2009/09/25/user-agent-switcher/</link>
<pubDate>Fri, 25 Sep 2009 02:22:17 +0000</pubDate>
<dc:creator>ubuntulady</dc:creator>
<guid>http://ubuntulady.wordpress.com/2009/09/25/user-agent-switcher/</guid>
<description><![CDATA[User Agent Switcher is a Firefox add-on that allows you to set a different user agent &#8211; Intern]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher</a> is a Firefox add-on that allows you to set a different user agent &#8211; Internet Explorer, for instance.  This tells sites you are visiting that your browser is of that type, and not a Firefox browser.</p>
<p>Most websites are set up with generic HTML, to work with the many browsers out there and not just with Internet Explorer (for example).  Occasionally, you may run across a website that just doesn&#8217;t seem to want to let you do useful things like order the company&#8217;s products.  I had this happen to me a couple of days ago.  Thankfully, I already knew about user agent switching and did not get too upset.  </p>
<p>This is the first time in a year and a half of my using Ubuntu and Firefox, that I had a problem with Firefox not being accepted.  Just in case you ever run into this glitch, though, I have included the link above as one option to handle it.</p>
<p>Happy Ubuntu&#8217;ing!</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=4767f0fe-44bf-89b4-bdcd-887fdc117c9d" /></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Description of HTML Response Status Codes returned from a Server]]></title>
<link>http://sks8.wordpress.com/2009/08/23/html-status-code/</link>
<pubDate>Sat, 22 Aug 2009 18:47:45 +0000</pubDate>
<dc:creator>sks8</dc:creator>
<guid>http://sks8.wordpress.com/2009/08/23/html-status-code/</guid>
<description><![CDATA[1xx status codes 100 (Continue) The requestor should continue with the request. The server returns t]]></description>
<content:encoded><![CDATA[1xx status codes 100 (Continue) The requestor should continue with the request. The server returns t]]></content:encoded>
</item>
<item>
<title><![CDATA[Gecko, a layout engine]]></title>
<link>http://webtech09.wordpress.com/2009/07/23/gecko-a-layout-engine/</link>
<pubDate>Thu, 23 Jul 2009 07:12:03 +0000</pubDate>
<dc:creator>ardrian2009</dc:creator>
<guid>http://webtech09.wordpress.com/2009/07/23/gecko-a-layout-engine/</guid>
<description><![CDATA[Gecko is a layout engine currently developed by Mozilla Corporation, known as the layout engine of t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Gecko is a layout engine currently developed by Mozilla Corporation, known as the layout engine of the Firefox web browser, Mozilla Application Suite, Nvu, Mozilla Thunderbird and many more. It is designed to support open Internet standards, and is used by applications such as Mozilla Firefox, Camino, Flock, SeaMonkey, K-Meleon, Netscape 9, Lunascape and Epiphany to display web pages and, in some cases, an application&#8217;s user interface itself (by rendering XUL). Gecko offers a rich programming API that makes it suitable for a wide variety of roles in Internet-enabled applications, such as web browsers, content presentation, and client/server.[1] Development originated with Netscape Communications Corporation, but soon moved to the Mozilla Foundation for the Mozilla application suite, and now used in many applications developed by Mozilla Foundation and or the Mozilla Corporation, as well as many other open source software projects. It was also used in later Netscape Navigator releases.  Gecko is written in C++ and is cross-platform, and runs on various operating systems including BSDs, Linux, Mac OS X, Solaris, OS/2, AIX, OpenVMS, and Microsoft Windows. Its development is now overseen by the Mozilla Foundation. Licensed by a tri-license of the Mozilla Public License (MPL), GNU General Public License (GPL) and GNU Lesser General Public License (LGPL), Gecko is free and open source software.  Gecko is the second most-popular layout engine on the World Wide Web, after Trident (used by Internet Explorer for Windows since version 4), and followed by WebKit (used by Safari &#38; Google Chrome) and Presto (used by Opera).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Πρόσβαση σε ιστοσελίδες χωρίς να είμαστε register]]></title>
<link>http://datalibrary.wordpress.com/2009/07/17/%cf%80%cf%81%cf%8c%cf%83%ce%b2%ce%b1%cf%83%ce%b7-%cf%83%ce%b5-%ce%b9%cf%83%cf%84%ce%bf%cf%83%ce%b5%ce%bb%ce%af%ce%b4%ce%b5%cf%82-%cf%87%cf%89%cf%81%ce%af%cf%82-%ce%bd%ce%b1-%ce%b5%ce%af%ce%bc%ce%b1/</link>
<pubDate>Fri, 17 Jul 2009 11:15:13 +0000</pubDate>
<dc:creator>Administrator</dc:creator>
<guid>http://datalibrary.wordpress.com/2009/07/17/%cf%80%cf%81%cf%8c%cf%83%ce%b2%ce%b1%cf%83%ce%b7-%cf%83%ce%b5-%ce%b9%cf%83%cf%84%ce%bf%cf%83%ce%b5%ce%bb%ce%af%ce%b4%ce%b5%cf%82-%cf%87%cf%89%cf%81%ce%af%cf%82-%ce%bd%ce%b1-%ce%b5%ce%af%ce%bc%ce%b1/</guid>
<description><![CDATA[Πλέον στο Internet υπάρχουν πολλές ιστοσελίδες και φόρουμς που απαιτούν να έχετε κάποιο λογαριασμό γ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">Πλέον στο Internet υπάρχουν πολλές ιστοσελίδες και φόρουμς που απαιτούν να έχετε κάποιο λογαριασμό για να μπορέσετε να έχετε πλήρη πρόσβαση.Στην περίπτωση που δεν επιθυμείτε να κάνετε register υπάρχουν μερικοί τρόποι για να δείτε τις κρυμμένες περιοχές αυτών των ιστοσελίδων.</p>
<p>1)Χρησιμοποίηση της ιστοσελίδας <a href="http://www.bugmenot.com/">http://www.bugmenot.com/</a> </p>
<p style="text-align:justify;">Η σελίδα αυτήν δημιουργήθηκε με σκοπό να παρέχει διαθέσιμους λογαριασμούς χρηστών για πολλές ιστοσελίδες που απαιτούν εγγραφή.Έτσι λοιπόν κάποιος χρηστής που έχει κάπου ένα λογαριασμό και μετά από κάποιο χρονικό διάστημα δεν τον χρειάζεται υποβάλλει στην ιστοσελίδα αυτήν το account του με συνέπεια να μπορούν να το χρησιμοποιήσουν κάποιοι άλλοι που δεν θέλουν ή δεν μπορούν να κάνουν εγγραφή αλλά θέλουν να δουν το περιεχόμενο της ιστοσελίδας που επιθυμούν.</p>
<p style="text-align:justify;">Πιο συγκεκριμένα στο παρακάτω πεδίο που βλέπουμε πληκτρολογούμε την ιστοσελίδα που θέλουμε να βρούμε κάποιο λογαριασμό και μετά πατάμε στο Get Logins.Σε περίπτωση που υπάρχει κάποιος διαθέσιμος λογαριασμός για την ιστοσελίδα που πληκτρολογήσαμε θα μας τον εμφανίσει και έτσι θα μπορέσουμε να έχουμε πρόσβαση χωρίς να χρειάζεται να κάνουμε εγγραφή και να δώσουμε το email μας σε μία ακόμα ιστοσελίδα που δεν ξέρουμε το πως θα το χρησιμοποιήσει στο μέλλον.</p>
<p><img title="BugMeNot" src="http://datalibrary.wordpress.com/files/2009/07/bug.jpg" alt="BugMeNot" width="450" height="457" /></p>
<p style="text-align:justify;">2)Ένας άλλος τρόπος είναι η αλλαγή του user agent του browser μας στο Googlebot/2.1</p>
<p><a href="http://www.googlebot.com/bot.html">http://www.googlebot.com/bot.html</a></p>
<p style="text-align:justify;">Στην περίπτωση που χρησιμοποιούμε τον Mozilla Firefox αυτό είναι πολύ εύκολο.Το μόνο που χρειάζεται είναι το User Agent Switcher το οποίο μπορούμε να το βρούμε από την σελίδα:</p>
<p><a href="http://datalibrary.wordpress.com/%22http://www.chrispederick.com/work/firefox/useragentswitcher//%22">http://www.chrispederick.com/work/firefox/useragentswitcher/</a></p>
<p style="text-align:justify;">Το κάνουμε εγκατάσταση μόλις το κατεβάσουμε κάνουμε προσθήκη το Googlebot user agent.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[iPhone版Googlebot]]></title>
<link>http://junicorn.wordpress.com/2009/06/11/iphone-googlebot/</link>
<pubDate>Wed, 10 Jun 2009 15:26:45 +0000</pubDate>
<dc:creator>Jun</dc:creator>
<guid>http://junicorn.wordpress.com/2009/06/11/iphone-googlebot/</guid>
<description><![CDATA[Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobi]]></description>
<content:encoded><![CDATA[Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobi]]></content:encoded>
</item>
<item>
<title><![CDATA[Abuso de información editable.]]></title>
<link>http://myplague.wordpress.com/2009/06/03/abuso-de-informacion-editable/</link>
<pubDate>Wed, 03 Jun 2009 19:15:53 +0000</pubDate>
<dc:creator>myplague</dc:creator>
<guid>http://myplague.wordpress.com/2009/06/03/abuso-de-informacion-editable/</guid>
<description><![CDATA[Salut. Este tema para muchos puede ser conocido, pero aún así no deja de ser una constante en los si]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Salut.</p>
<p>Este tema para muchos puede ser conocido, pero aún así no deja de ser una constante en los sistemas web: el abuso de información editable.</p>
<p>Entiéndase por información editable como<em> toda aquella fuente de datos procesada por una aplicación que puede ser fácilmente manipulada mediante edición, generación de paquetes o manipulación del protocolo</em>: <strong>cookies</strong>, campos HTML <strong>input </strong>tipo <strong>hidden</strong>, información del navegador (<a title="Variables del servidor" href="http://ar.php.net/manual/es/reserved.variables.server.php" target="_blank"><strong>user agent</strong>, <strong>referer</strong></a>), etc.</p>
<p><em>Ejemplo 1<br />
</em></p>
<p>Rrecientemente avisé al dueño de un sitio web de turismo que su formulario de contacto era extremadamente vulnerable a ser explotado por spammers. La causa:</p>
<p style="text-align:center;">&#60;input type=&#8221;hidden&#8221; name=&#8221;email&#8221; value=&#8221;contacto@sitioweb.com.ar&#8221; /&#62;</p>
<p>El e-mail de destino del formulario estaba explícito dentro del formulario en el HTML del sitio. No hace falta ser McGyver para pensar y programar en 5 minutos una aplicación que abuse de este error.</p>
<p><em>Ejemplo 2</em></p>
<p>Ah no, pero yo soy (música de super héroe de fondo) <strong>El Webmaster</strong> (como me dijo en cierta oportunidad) del sitio web y ví la película Hackers, Wargames y Matrix, entonces le puse que si el HTTP_REFERER es distinto a www.sitioweb.com/formulario.php, te pone un mensaje de error diciendote que el FBI está comprando un Quini 6 en la esquina y cuando termina cruza y te lleva preso.</p>
<p>Error: 5 minutos de lectura del <a title="RFC HTTP" href="http://www.w3.org/Protocols/rfc2616/rfc2616.html" target="_blank">RFC del protocolo HTTP</a> nos dice que el HTTP_REFERER es enviado por el navegador, al igual que el USER_AGENT y otros datos, por lo que pueden ser a) manipulados (Firefox, about:config) o b) simulados (un pequeño script que realice la charla HTTP con el servidor de destino).</p>
<p><em>Ejemplo 3</em></p>
<p>Logs. Hace minutos que ví otro formulario que, encima de abusar de información editable, la hacía aún más editable, colocoando USER AGENT, IP (!!!!!) y REFERER como input type hidden.</p>
<p>Otro problema, además de que Alice o Bob puedan editar esta información, es que en algunos casos es utilizada en logs (log = archivo de texto plano confiabe ubicado generalmente en paths confiables). Entonces, dependiendo de lo que nos permita explotar o nos facilite el sistema en cuestión, podemos inyectar código PHP o Javascript o LOQUESEA en estas variables logeadas, que luego pueden ser a) incluidas en un PHP b) incluíbles mediante la explotación de un <a title="Remote File Inclusion" href="http://en.wikipedia.org/wiki/Remote_File_Inclusion" target="_blank">RFI </a>protegido de inclusiones externas pero no de inclusiones de archivos ubicados en el servidor c) etc.</p>
<p>Ni hablar de las cookies, que además suelen ser consideradas confiables y masticadas sin validaciones, asumiendo que no pueden ser <a title="Add and edit cookies" href="https://addons.mozilla.org/es-ES/firefox/addon/573" target="_blank">modificadas</a>.</p>
<p>Recordemos entonces:</p>
<blockquote><p>Que no se vea no significa que no pueda editarse.</p>
<p>Todo contenido es modificable hasta que se demuestre lo contrario.</p></blockquote>
<p>Hasta otra.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[wget shows "HTTP Error 403 - Forbidden"]]></title>
<link>http://sparc86.wordpress.com/2009/04/08/wget-shows-http-error-403-forbidden/</link>
<pubDate>Wed, 08 Apr 2009 06:20:54 +0000</pubDate>
<dc:creator>sparc86</dc:creator>
<guid>http://sparc86.wordpress.com/2009/04/08/wget-shows-http-error-403-forbidden/</guid>
<description><![CDATA[So, today I was trying to download an entire C programming tutorial from a website, it was splitted ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So, today I was trying to download an entire C programming tutorial from a website, it was splitted in several different html files and I wanted to have it all so I could read it while offline.</p>
<p>My first thought was about using wget to automatically get it all with the following parameters:</p>
<p><span style="color:#008000;">#wget -r -np http://www.xxx.com/docs/stuff/yeah/</span></p>
<p>The output:</p>
<p><span style="color:#008000;">&#8211;2009-04-08 02:34:59&#8211;  http://www.xxx.com/docs/stuff/yeah/<br />
Resolving www.xxx.com&#8230; 75.126.69.23<br />
Connecting to www.xxx.com&#124;75.126.69.23&#124;:80&#8230; connected.<br />
HTTP request sent, awaiting response&#8230; 403 Forbidden<br />
2009-04-08 02:35:00 ERROR 403: Forbidden.</span></p>
<p>So, you might ask yourself  &#8220;but then how the hell my browser got the html files without any error?&#8221;.</p>
<p>The webserver use a kind of security configuration where they will refuse any &#8220;user agent&#8221; which is not related to a browser. For example, when you use wget to download the html, the webserver will answer you with &#8220;ERROR403: Forbidden&#8221;, because it is not a valid browser, it is Wget. I just don&#8217;t know yet how it works at the server side, hopefully I will be writing more about it in the next posts.</p>
<p>So now we can try the following parameters in order to break it:</p>
<p><span style="color:#008000;">#wget -U firefox -r -np http://www.xxx.com/docs/stuff/yeah/</span></p>
<p>Where &#8220;-U&#8221; means &#8220;user agent&#8221;</p>
<p>It works flawlessly! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Please share with us your experiences about it.</p>
<p><strong>References:</strong></p>
<p><a href="http://www.checkupdown.com/status/E403.html" target="_blank">http://www.checkupdown.com/status/E403.html</a></p>
<p><a href="http://www.gnu.org/software/wget/manual/" target="_blank">http://www.gnu.org/software/wget/manual/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[BlackBerry User Agent (browser)]]></title>
<link>http://v4ks1n.wordpress.com/2009/03/31/blackberry-user-agent-browser/</link>
<pubDate>Tue, 31 Mar 2009 18:43:19 +0000</pubDate>
<dc:creator>v4ks1n</dc:creator>
<guid>http://v4ks1n.wordpress.com/2009/03/31/blackberry-user-agent-browser/</guid>
<description><![CDATA[how to get blackberry user agent information like this: Blackberry7290/4.1.0.139 Profile/MIDP-2.0 Co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>how to get blackberry user agent information like this:</p>
<p><span>Blackberry7290/4.1.0.139 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/-1</span></p>
<p><span>here is the answer[1]:</span></p>
<pre class="alt2" style="border:1px inset;overflow:auto;width:500px;height:34px;text-align:left;margin:0;padding:6px;">String userAgent = "Blackberry" + DeviceInfo.getDeviceName() + "/" + getOsVersion() + " Profile/" + System.getProperty( "microedition.profiles" ) + " Configuration/" + System.getProperty( "microedition.configuration" ) + " VendorID/" + Branding.getVendorId();</pre>
<pre class="alt2" style="border:1px inset;overflow:auto;width:500px;height:160px;text-align:left;margin:0;padding:6px;">public static String getOsVersion()
{   String version = "";
    ApplicationDescriptor[] ad = ApplicationManager.getApplicationManager().getVisibleApplications();
    for( int i = 0; i &#60; ad.length; i++)
    {   if( ad[i].getModuleName().trim().equalsIgnoreCase( "net_rim_bb_ribbon_app" ) )
        {   version = ad[i].getVersion();
            break;
        }
    }
    return version;
}</pre>
<p><span>[1] http://www.blackberryforums.com/developer-forum/143972-profile-midp-2-0-configuration-cldc-1-1-how-get-info-programmatically.html</span></p>
<p><span><br />
</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Disable User Agent Switcher Reset On Close]]></title>
<link>http://theawesomecode.wordpress.com/2009/03/26/disable-user-agent-switcher-reset-on-close/</link>
<pubDate>Fri, 27 Mar 2009 02:17:44 +0000</pubDate>
<dc:creator>almostxalways</dc:creator>
<guid>http://theawesomecode.wordpress.com/2009/03/26/disable-user-agent-switcher-reset-on-close/</guid>
<description><![CDATA[This is an advanced guide for disabling a feature in the User Agent Switcher and assumes you have th]]></description>
<content:encoded><![CDATA[This is an advanced guide for disabling a feature in the User Agent Switcher and assumes you have th]]></content:encoded>
</item>
<item>
<title><![CDATA[The difference between an agent and a da ... ]]></title>
<link>http://techtakes.wordpress.com/2009/01/27/the-difference-between-an-agent-and-a-da/</link>
<pubDate>Tue, 27 Jan 2009 10:28:06 +0000</pubDate>
<dc:creator>praveenmatanam</dc:creator>
<guid>http://techtakes.wordpress.com/2009/01/27/the-difference-between-an-agent-and-a-da/</guid>
<description><![CDATA[The difference between an agent and a daemon is that an agent can display GUI if it wants to, while ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The difference between an agent and a daemon is that an agent can display GUI if it wants to, while a daemon can&#8217;t. The difference between an agent and a regular application is that an agent typically displays no GUI (or a very limited GUI).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Device Detection]]></title>
<link>http://ilmian.wordpress.com/2009/01/22/device-detection/</link>
<pubDate>Thu, 22 Jan 2009 07:34:15 +0000</pubDate>
<dc:creator>Omar Rehman</dc:creator>
<guid>http://ilmian.wordpress.com/2009/01/22/device-detection/</guid>
<description><![CDATA[How to deliver correct mobile content to a mobile device successfully? Well, the first and most impo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>How to deliver correct mobile content to a mobile device successfully?</p>
<p>Well, the first and most important thing to do is &#8211; correctly identify the mobile device of the user.</p>
<p>And the second thing would be to identify the MIME Type supported by the mobile device.</p>
<p>We can get the information about a device by looking at the &#8220;User Agent&#8221; of that mobile device. User Agent sometimes referred as &#8220;UAProfile&#8221; or &#8220;UAProf&#8221; contains some information about that particular mobile device. e.g. Have a look at the following user agent of a Nokia N95 device.</p>
<p style="text-align:center;">
<div id="attachment_5" class="wp-caption aligncenter" style="width: 212px"><a href="http://ilmian.wordpress.com/files/2009/01/nokia_n95.jpg"><img class="size-full wp-image-5" title="nokia_n95" src="http://ilmian.wordpress.com/files/2009/01/nokia_n95.jpg" alt="Nokia N95" width="202" height="330" /></a><p class="wp-caption-text">Nokia N95</p></div>
<p><strong>&#8220;Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/10.0.018; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413&#8243;</strong></p>
<p>Now you can see some basic information in it like Symbian OS version is 9.2, device name is Nokia N95. You can also see the version of J2ME Profile (MIDP) and Configuration (CLDC) as well.</p>
<p>You can get the user agent from the request&#8217;s &#8220;user-agent&#8221; header.</p>
<p><strong>Sting userAgent = request.getHeader(&#8220;user-agent&#8221;);</strong></p>
<p>Unfortunately, we don&#8217;t have any standard available for user agent, so at times its hard to identify the device.</p>
<p>There are a number of device detection solutions available too.  Following are some i know</p>
<p>Device Atlas <a title="Device Atlas" href="http://www.deviceatlas.com/" target="_blank">http://www.deviceatlas.com/</a></p>
<p>Wurfl <a title="Wurfl" href="http://wurfl.sourceforge.net/" target="_blank">http://wurfl.sourceforge.net/</a></p>
<p>As far as identifing MIME Type is concerned i ll post that soon as well.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Long user-agent string breaks Fidelity NetBenefits/eWorkplace]]></title>
<link>http://andyweedman.wordpress.com/2009/01/14/long-user-agent-string-breaks-fidelity-netbenefitseworkplace/</link>
<pubDate>Wed, 14 Jan 2009 22:43:00 +0000</pubDate>
<dc:creator>andyweedman</dc:creator>
<guid>http://andyweedman.wordpress.com/2009/01/14/long-user-agent-string-breaks-fidelity-netbenefitseworkplace/</guid>
<description><![CDATA[I came upon an issue recently that I thought I would share with you in hopes that it will prevent so]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I came upon an issue recently that I thought I would share with you in hopes that it will prevent some headaches in the future.</p>
<p>I recently lost my ability to login to eWorkplace and NetBenefits.  I tried several URLs netbenefits.com, 401k.com, eworkplaceservices.fidelity.com etc. all of which resulted in the following message that appeared before any login dialog.</p>
<p>“Unavailable</p>
<p> Sorry.  This page is currently not available.  Our technicians are at work updating this section and will restore service as soon as possible.”</p>
<p>After a lengthy troubleshooting process I was able to determine the cause of the error message was due to the length of the User-Agent string.</p>
<p> The User-Agent string is what a browser sends to a server so the server can determine what browser you are using, operating system etc.  Here is a sample User-Agent string.</p>
<p> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MS-RTC LM 8; MS-RTC S; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)</p>
<p> I was finally able to reach someone knowledgeable of the problem at Fidelity Electronic Support who informed me the User-Agent string could not exceed 256 characters.  They were aware of the problem and a fix was on their to do list but with a very low priority.</p>
<p>Fortunately, it is easy to shorten the length of the User-Agent string.  Simply delete one of the string values located here in the registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform.</p>
<p>Unfortunately, if you delete one of these values you can break something else.  For example, if you delete MS-RTC LM 8 from my sample User-Agent string you will break Live Meeting 8 since that is a value Live Meeting looks for in the User-Agent string. </p>
<p>As you can see it’s a bit of a catch 22!</p>
<p>Here is a MSDN article I found that explains User-Agent strings in more detail.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms537503.aspx">http://msdn.microsoft.com/en-us/library/ms537503.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Asterisk as Sip User Agent emulator]]></title>
<link>http://sajidmoinuddin.wordpress.com/2008/12/27/asterisk-as-sip-user-agent-emulator/</link>
<pubDate>Sat, 27 Dec 2008 16:09:00 +0000</pubDate>
<dc:creator>sajid2045</dc:creator>
<guid>http://sajidmoinuddin.wordpress.com/2008/12/27/asterisk-as-sip-user-agent-emulator/</guid>
<description><![CDATA[Most common use case of Asterisk is that of a Sip Server. User Agents register to it and can call ea]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Most common use case of Asterisk is that of a Sip Server. User Agents register to it and can call each other. But have anyone though of using it as a sip user agent emulator? This is exactly what we are doing ! Our main product is written in java which needs to register to a Sip Service Provider, receive calls, play automated answers/forward calls and all kind of play around with the Call. We looked into various open source sip stack written in C / java. We kind of overlooked Asterisk as its known as a sip server! We were just exploring asterisk sip stack to see if we can somehow reuse it, but we were surprised to find out we can use Asterisk as it is without any modifications! Asterisk is written as a B2B UA (Back to Back User Agent) model (not so good for sip servers from performance point of view) but more than fine for us! You can register to your sip service provider as a user agent , answer calls, play messages, collect dtmf, make outgoing call and many other cool stuff! Asterisk real-time even takes this in another level where you can do the all these things dynamically! The best point is, you can write your logic in any language (in our case java) with AGI and AMI which is just TCP message based programming ! Wait, if you are using java, life is even better for you! Asterisk-java is a wonderful abstraction written on AGI/AMI so you don&#8217;t even need to bother about TCP programming. Hats off to open source community, It would take us a Year to accomplish what we have accomplished in 3 months with asterisk.</p>
<p>The free book &#8220;<a href="http://www.voip-info.org/wiki/view/Asterisk:+The+Future+of+Telephony">Asterisk: The Future of Telephony</a>&#8221; is a great resource but I am surprised to see how little information is there on net about using Asterisk as a Sip User Agent emulator! Are we the only one who is using asterisk this way !!!???</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Webcrawlernamen, robots.txt, botlinks, KI, suchmaschinen]]></title>
<link>http://sensiblochamaeleon.wordpress.com/2008/12/16/webcrawlernamen/</link>
<pubDate>Tue, 16 Dec 2008 13:04:00 +0000</pubDate>
<dc:creator>sensiblochamaeleon</dc:creator>
<guid>http://sensiblochamaeleon.wordpress.com/2008/12/16/webcrawlernamen/</guid>
<description><![CDATA[beitrag zur diskussion wie eine exakte definition eines malware bot aussehen könnte, welche rolle da]]></description>
<content:encoded><![CDATA[beitrag zur diskussion wie eine exakte definition eines malware bot aussehen könnte, welche rolle da]]></content:encoded>
</item>
<item>
<title><![CDATA[Testing web mobile pages]]></title>
<link>http://beradrian.wordpress.com/2008/10/10/testing-web-mobile-pages/</link>
<pubDate>Fri, 10 Oct 2008 15:28:23 +0000</pubDate>
<dc:creator>Adrian</dc:creator>
<guid>http://beradrian.wordpress.com/2008/10/10/testing-web-mobile-pages/</guid>
<description><![CDATA[In an earlier post, I was telling you how to detect a mobile device on the server side so you will b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In an earlier <a href="http://beradrian.wordpress.com/2008/10/10/mobile-device-recognition/">post</a>, I was telling you how to detect a mobile device on the server side so you will be able to serve the appropriate page. The next step after you implemented those pages will be to actually see your work.<br />
If you have a mobile device everything is fine. Frankly I don&#8217;t like to use one, because only typing a web address can be a challenge. Just a while ago, I discovered the <a href="http://www.mtux.com/">My Mobiler</a> application, some kind of Remote Desktop or VNC. So you can use your Windows Mobile from the comfort of your own desktop mouse and keyboard.<br />
<img src="http://www.mtux.com/mymobiler12.jpg" alt="My Mobiler screenshot" /><br />
Another way of testing mobile pages will be to rewrite the <code>User-Agent</code> HTTP header of your own browser.<br />
How to do this?<br />
In Firefox you type in the address bar <code>about:config</code> and define a new preference (by right clicking and selecting <code>New &#187; String</code>) with the name general.useragent.override and the value of your choice.<br />
In Internet Explorer things are a little bit more complicated and involves some registry editing.<br />
In the <code>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]</code> key you have to define the <code>(Default)</code>, <code>Compatible</code>, <code>Version</code> and <code>Platform</code>. The final user agent string will look like <code>[(Default)] ([Compatible]; [Version]; [Platform])</code>.<br />
If you add some values in the registry key <code>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform]</code> they will be added in the user agent string.<br />
But the easiest method to do this is with a Firefox add-on: <a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher</a>.<br />
<img src="https://addons.mozilla.org/en-US/firefox/images/t/19212/1205800897" alt="User Agent Switcher screenshot" /><br />
If you choose an user agent string from the <a href="http://wurflpro.com">WURFL database</a> and then visit Google, Yahoo, YouTube etc you will see a different version than the one you are used to.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Averigua tu user-agent]]></title>
<link>http://ehcomunicacion.wordpress.com/2008/10/08/averigua-tu-user-agent/</link>
<pubDate>Wed, 08 Oct 2008 07:53:20 +0000</pubDate>
<dc:creator>ehcomunicacion</dc:creator>
<guid>http://ehcomunicacion.wordpress.com/2008/10/08/averigua-tu-user-agent/</guid>
<description><![CDATA[El User-Agent es la forma en la cual se identifica tu navegador cuando realiza cualquier tipo de pet]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>El <a href="http://en.wikipedia.org/wiki/User_agent">User-Agent</a> es la forma en la cual se identifica tu navegador cuando realiza cualquier tipo de petición http. Cuando utilizaba <strong>Opera</strong> como navegador principal existía una pestañita con la cual te identificabas como Internet explorer. Algunos webmasters con muy mala baba restringían el uso sólo a ese navegador y era necesario cambiarlo. Hoy en día no deberían existir webmasters con esas pretensiones ridículas. Es más los hay que sólo diseñan páginas para ser vistas por cualquier navegador excepto el Internet explorer.</p>
<p>Si navegas con Firefox puedes cambiar tu agente de usuario mediante algún addon. Recomiendo el <a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher </a>.</p>
<p>Si sólo deseas saber cual es tu user Agent puedes poner lo siguiente en la barra de direcciones:</p>
<blockquote><p>javascript:alert(navigator.userAgent)</p></blockquote>
<p>Es posible que veas cosas raras sobretodo si tienes un windows pirata y navegas con alguna barra de alexa, megaupload o de cualquier otro tipo.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux vs Hotmail]]></title>
<link>http://stoneheads.wordpress.com/2008/10/07/linux-vs-hotmail/</link>
<pubDate>Tue, 07 Oct 2008 20:05:28 +0000</pubDate>
<dc:creator>alfayate</dc:creator>
<guid>http://stoneheads.wordpress.com/2008/10/07/linux-vs-hotmail/</guid>
<description><![CDATA[&#8230;o cómo resolver &#8220;los problemas&#8221; de los usuarios de Linux al acceder al webmail de]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#8230;o cómo resolver &#8220;los problemas&#8221; de los usuarios de Linux al acceder al webmail de Hotmail y similares. </p>
<p>Ultimamente mucha gente está teniendo problemas de todo tipo a la hora de usar Hotmail, pero los usuarios de GNU/Linux en concreto se enfrentan con uno especial: Hotmail les da con la puerta en las narices. Efectivamente, si intentas acceder al correo web de este servicio desde un sistema GNU/Linux, independientemente del navegador que estés usando, simplemente no entras o te devuelve el error &#8220;Bad Request&#8221;. Y no, no es un problema técnico, es una decisión arbitraria de Microchoft, tomada con nocturnidad (porque en vez de avisar francamente de ello, devuelven un mensaje de error críptico) y alevosía (ya que no existe una excusa técnica), pero de esta empresa hablaremos más adelante, ahora vamos con las buenas noticias:</p>
<p><strong>Hay solución</strong>. Básicamente se trata de &#8220;ocultar&#8221; el navegador y el sistema con el que estamos entrando para así &#8220;engañar&#8221; a Hotmail y que trague. La forma más sencilla es usar la <a href="https://addons.mozilla.org/fr/firefox/addon/59">extensión de Firefox &#8220;User Agent Switcher&#8221;</a>, <a href="http://www.freesoftwaremagazine.com/columns/hotmail_doesnt_work_with_firefox_2" title="Usar Hotmail desde Linux">tal como se explica en este artículo</a> (en inglés) que además hace un análisis detallado del problema. Esto me consta que funciona (no os olvidéis de limpiar las cookies, el cache, etc.. antes de reintentar acceder a Hotmail, en Firefox: Herramientas -&#62; Limpiar datos privados), pero también me consta que en algunos casos no lo hace.</p>
<p>Aquí entra la <strong>segunda solución</strong>: basta con entrar a Hotmail <a href="http://www.torproject.org/">usando Tor</a> (en realidad debemos activarlo ANTES de ir a la página de entrada). Tor básicamente sirve para navegar de forma anónima; esto es, ocultando nuestros datos tales como la IP, las páginas que visitamos&#8230; y también el navegador y sistema que empleamos. Como en la <a href="http://www.torproject.org/"> página web del proyecto</a> explican perfectamente su instalación y manejo no me extenderé más sobre el tema; tan sólo añadir que si usamos Firefox, la forma más fácil de emplear Tor es mediante la <a href="https://addons.mozilla.org/es-ES/firefox/addon/2275">extensión TorButton</a>.</p>
<p>Hasta aquí la parte técnica. Alguno dirá que si eres usuario de Linux a dónde vas usando Hotmail (bueno y si eres usuario de cualquier cosa, también) pero hay personas que no quieren o no pueden cambiar de correo, por no hablar de los ordenadores de uso público tipo telecentro y demás, en los que si se usa GNU/Linux vamos a tener seguro quejas de las personas que quieran leer su cuenta de Hotmail desde ellos. Y ahora hablemos de los señores de Microchoft&#8230;.</p>
<p>Este ejemplo práctico es una demostración perfecta del tipo de empresa con la que estamos tratando. Más allá de si sus productos son excelentes o una porquería o la típica piquilla &#8220;Linuxeros vs Windouseros&#8221;, esto debería hacer pensar a todo el mundo si estamos dispuestos a que una empresa (y esto vale para cualquiera, no sólo para Microchoft) nos imponga qué podemos o no podemos usar, qué podemos hacer y muy pronto qué podremos decir y pensar (y si esto te parece exagerado, ponte las pilas, porque <a href="http://estaeuropano.info/" title="es sólo un ejemplo, hay más">ya se pueden ver las orejas al lobo</a>)</p>
<p>Habrá quien diga que una empresa privada, con sus productos puede hacer de su capa un sayo, pero no olvidemos el &#8220;pequeño&#8221; detalle de que estamos hablando de un servicio en Internet, cuya fuerza es precisamente el derribar barreras: de tiempo y espacio, económicas, de discapacidades físicas, de comunicación, pero también técnicas (el acceso a la información independientemente de las aplicaciones y sistemas que usemos para conectarnos). ¿Qué se puede esperar de una empresa que levanta deliberadamente barreras en un medio cuya esencia es el derribarlas?</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Frustration with mobilized sites!]]></title>
<link>http://swampy.wordpress.com/2008/10/02/frustration-with-mobilized-sites/</link>
<pubDate>Thu, 02 Oct 2008 14:41:18 +0000</pubDate>
<dc:creator>junior</dc:creator>
<guid>http://swampy.wordpress.com/2008/10/02/frustration-with-mobilized-sites/</guid>
<description><![CDATA[I remember some years ago being involved in a User Agent Profile (UAProf) and content adaptation rel]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://swampy.files.wordpress.com/2008/10/10022008011.jpg"><img class="alignleft size-full wp-image-296" style="margin-right:10px;" title="10022008011" src="http://swampy.wordpress.com/files/2008/10/10022008011.jpg" alt="" width="246" height="227" /></a>I remember some years ago being involved in a <a href="http://www.openmobilealliance.org"><strong>User Agent Profile </strong>(UAProf)</a> and content adaptation related project where the situation was a mess with device vendors and service providers not seeing eye to eye on adoption of the technology. Developers were trying to build the databases without much co-operation from the device vendors. Lately open source initiatives like <a href="http://wurfl.sourceforge.net/"><strong>WURFL</strong></a> seems to have picked up some interest and steam in the developer community. We have also started to see more and more sites like Google news, CNN mobile. At the same time we have a situation where browsers have become more capable. It seems to me when people choose to mobilize sites they need to pay attention to the target device characteristics more closely, particularly when the device is a smartphone with a capable browser such as those based on webkit, and a decent screen.</p>
<p><!--more--></p>
<p><a href="http://swampy.files.wordpress.com/2008/10/shot26.png"><img class="alignleft size-full wp-image-305" style="margin-right:10px;" title="shot26" src="http://swampy.wordpress.com/files/2008/10/shot26.png" alt="" width="192" height="144" /></a>Some sites go absolutely bare bottom heading towards the lowest common denominator, like <strong>Google News</strong>. They are anyway not known for their aesthetics. CNN mobile I think does a better job. One of the issues is that of browser capability. But there is the other issue of display form factor. Both need to be addressed by these folks.</p>
<p>This morning after a long time I pointed my <strong>N810 </strong>towards <strong>Gizmodo </strong>site and I get redirected to <strong>m.gizmodo.com</strong> powered by Quattro Wireless. Out comes a list of links on a Mozilla based browser that is occupying the full screen and is very capable of displaying Gizmodo in all its glory. Really bugs the hell out of me. I get curious to see what <strong>User Agent </strong>information was being sent out from the browser and point the browser towards the <a href="http://www.askapache.com/online-tools/http-headers-tool/"><strong>AskApache</strong></a> site. The <strong>User-Agent </strong>and <strong>Accept </strong>headers are clearly indicative of the browser&#8217;s rich capability. The HTTP header will not state the size of the screen and that needs to come from a device profile database somewhere.</p>
<p>Then I went looking at the N810 entry in <a href="http://www.wurflpro.com/device/show/22133"><strong>WURFL Db</strong></a> and I did see a <a href="http://www.wurflpro.com/device/show/22133?group_name=display">Display</a> section. I think information like this needs to be incorporated. <strong>UAprof</strong> vocabulary accounts for <code>ScreenSize</code> and <code>BrowserScreenSize</code> aspects of the hardware and the browser. Mobile site developers need to pay attention to these and use a profile database that has those information.</p>
<p><a href="http://swampy.files.wordpress.com/2008/10/shot23.png"><img class="alignright size-full wp-image-306" style="margin-left:10px;border:black 1px solid;" title="shot23" src="http://swampy.wordpress.com/files/2008/10/shot23.png" alt="" width="192" height="144" /></a>Till they can figure out the device characteristics correctly they should give an option to user to display the site in <strong>&#8220;classic&#8221;</strong> mode. Google does that in their main search page. But they don&#8217;t do that on their news page. Thankfully it does not detect my N810 as a mobile device or may be it is smarter than that. Sometimes with a device with a larger screen like E90 I would really like that to be the case. I dont&#8217;t remember if Google News detects E90 as a mobile device like it does with my E71 and dumbs down the news page. But on a E71 it makes some sense (E90 also has the two display challenge) and as long as I have my choices I am ok with it.</p>
<p>But the bottom line is there is much inconsistency in device capability detection and accomodation. I think this has become more and more important as more capable devices get out there, more of the well known sites go mobile, and mobile internet finally starts to take hold. I would really like people to add a <strong>&#8220;classic&#8221;</strong> mode option till we become perfect. May be everybody is mobilizing sites for the <strong>iPhone</strong>! Just a tad irritated.</p>
<p><strong>Update:</strong> I just checked Google News site and looks like they now do have the <strong>Classic</strong> option in the mobile news page also and the page is looking better in general! thank you!</p>
<p><a href="http://swampy.files.wordpress.com/2008/10/shot24.png"><img class="size-full wp-image-309 alignnone" style="border:black 1px solid;margin:5px;" title="shot24" src="http://swampy.wordpress.com/files/2008/10/shot24.png" alt="" width="192" height="144" /></a><a href="http://swampy.files.wordpress.com/2008/10/shot25.png"><img class="size-full wp-image-307 alignnone" style="border:black 1px solid;margin:5px;" title="shot25" src="http://swampy.wordpress.com/files/2008/10/shot25.png" alt="" width="192" height="144" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[iPhone ユーザーエイジェント]]></title>
<link>http://katsuwo1.wordpress.com/2008/09/24/iphone-%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%82%a8%e3%82%a4%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88/</link>
<pubDate>Wed, 24 Sep 2008 23:18:13 +0000</pubDate>
<dc:creator>katsuwo1</dc:creator>
<guid>http://katsuwo1.wordpress.com/2008/09/24/iphone-%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%82%a8%e3%82%a4%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88/</guid>
<description><![CDATA[昨日、携帯をなくしてしまいついでにiPhoneにしてみました ところが、iPhoneでmixiにログインすると、携帯版ではなく、PC版になってしまいます 直接モバイル版打ってもだめでした。 さらに、自]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>昨日、携帯をなくしてしまいついでにiPhoneにしてみました</p>
<p>ところが、iPhoneでmixiにログインすると、携帯版ではなく、PC版になってしまいます</p>
<p>直接モバイル版打ってもだめでした。</p>
<p>さらに、自分で作ったサイト（ユーザーエージェントで振り分け）にアクセスすると、</p>
<p>PC版になりました</p>
<p>色々調べてみると、ユーザーエージェントがソフトバンクのものではないようです。</p>
<p>ちなみに、ipはwifiを利用なんかするとコロコロ変わってしまうので、ip指定では意味がないみたいです</p>
<p>と言うわけでiPhoneユーザーエージェントのメモ。</p>
<pre class="hatena-super-pre">Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20

また見つけたらメモします</pre>
</div>]]></content:encoded>
</item>

</channel>
</rss>
