<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leonardo França</title>
	<atom:link href="http://www.leonardofranca.com.br/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leonardofranca.com.br</link>
	<description>Flash Platform, Adobe AIR, ActionScript, Flash, RIA, Flex, Flash Media Server, RED5, Flash Lite, PHP, ZendAMF, AMFPHP, Java, GraniteDS, BlazeDS</description>
	<lastBuildDate>Fri, 05 Mar 2010 17:29:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Proteção simples de conteudo com Flash Media Server</title>
		<link>http://www.leonardofranca.com.br/index.php/2010/03/05/protecao-simples-de-conteudo-com-flash-media-server/</link>
		<comments>http://www.leonardofranca.com.br/index.php/2010/03/05/protecao-simples-de-conteudo-com-flash-media-server/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:29:32 +0000</pubDate>
		<dc:creator>Leonardo França</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Media Server]]></category>

		<guid isPermaLink="false">http://www.leonardofranca.com.br/?p=625</guid>
		<description><![CDATA[
			
				
			
		
Fui chamado para resolver um problema em relação a proteção do conteudo de um cliente, o problema consistia em que alguem mal-intencionado estava roubando seus streams ao vivo.
A pessoa simplesmente pegou o codigo html do site e colou no site dela, conseguindo assim transmitir o conteudo em seu blog. O player em questão não foi [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F03%2F05%2Fprotecao-simples-de-conteudo-com-flash-media-server%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F03%2F05%2Fprotecao-simples-de-conteudo-com-flash-media-server%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Fui chamado para resolver um problema em relação a proteção do conteudo de um cliente, o problema consistia em que alguem mal-intencionado estava roubando seus streams ao vivo.<br />
A pessoa simplesmente pegou o codigo html do site e colou no site dela<span id="more-625"></span>, conseguindo assim transmitir o conteudo em seu blog. O player em questão não foi desenvolvido por mim, portanto nem me dei ao trabalho de olhar o fonte, resolvi ir diretamente para o Flash Media Server.<br />
Baseado na documentação da Adobe, resolvi de uma maneira bem simples, o código do main.asc é o seguinte:</p>
<div class="igBar"><span id="ljavascript-3"><a href="#" onclick="javascript:showPlainTxt('javascript-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JAVASCRIPT:</span>
<div id="javascript-3">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;init application...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">var</span> VALID_REFERRER <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;http://www.mydomain.com.br/mySwf.swf&quot;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">var</span> VALID_PAGEURL <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;http://www.mydomain.com.br/myPage.html&quot;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">application.<span style="color: #660066;">onAppStart</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;init app...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStart&gt; &quot;</span> <span style="color: #339933;">+</span> application.<span style="color: #000066;">name</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; is starting at &quot;</span> <span style="color: #339933;">+</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">application.<span style="color: #660066;">onStatus</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>info<span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onStatus&gt; info.level: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">level</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;, info.code: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onStatus&gt; info.description: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">description</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onStatus&gt; info.details: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">details</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">application.<span style="color: #660066;">onConnect</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>client.<span style="color: #660066;">referrer</span> <span style="color: #339933;">==</span> VALID_REFERRER <span style="color: #339933;">&amp;&amp;</span> client.<span style="color: #660066;">pageUrl</span> <span style="color: #339933;">==</span> VALID_PAGEURL<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;acesso permitido&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; application.<span style="color: #660066;">acceptConnection</span><span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> </div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">else</span> </div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;acesso indevido&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; application.<span style="color: #660066;">rejectConnection</span><span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onConnect&gt; client.ip: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #660066;">ip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onConnect&gt; client.pageUrl: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #660066;">pageUrl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onConnect&gt; client.agent: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #660066;">agent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onConnect&gt; client.referrer: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #660066;">referrer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onConnect&gt; client.protocol: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #660066;">protocol</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">application.<span style="color: #660066;">onDisconnect</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onDisconnect&gt; client.name: &quot;</span> <span style="color: #339933;">+</span> client.<span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onDisconnect&gt; disconnecting at: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">application.<span style="color: #660066;">onAppStop</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>info<span style="color: #009900;">&#41;</span> </div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStop&gt; application.name: &quot;</span> <span style="color: #339933;">+</span> application.<span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStop&gt; stopping at &quot;</span> <span style="color: #339933;">+</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStop&gt; info.level: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">level</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStop&gt; info.code: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onAppStop&gt; info.description: &quot;</span> <span style="color: #339933;">+</span> info.<span style="color: #660066;">description</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>A API do Flash Media Server é muito poderosa e contém muitos recursos interessantes, um deles é a possibilidade de saber de onde exatamente está vindo a conexão do swf. Neste trecho já resolvia o problema com as constantes declaradas no inicio do arquivo.</p>
<div class="igBar"><span id="ljavascript-4"><a href="#" onclick="javascript:showPlainTxt('javascript-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JAVASCRIPT:</span>
<div id="javascript-4">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>client.<span style="color: #660066;">referrer</span> <span style="color: #339933;">==</span> VALID_REFERRER <span style="color: #339933;">&amp;&amp;</span> client.<span style="color: #660066;">pageUrl</span> <span style="color: #339933;">==</span> VALID_PAGEURL<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;acesso permitido&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; application.<span style="color: #660066;">acceptConnection</span><span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">else</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; trace<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;acesso indevido&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#3A6A8B;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; application.<span style="color: #660066;">rejectConnection</span><span style="color: #009900;">&#40;</span>client<span style="color: #009900;">&#41;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#26536A;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Resumindo, so será feita a conexão com o Flash Media Server se a tentativa de conectar vier de um SWF e HTML definidos por mim.<br />
Uma solução bem simples mas que resolveu o problema <img src='http://www.leonardofranca.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Como ultimo recurso, o ladrão ainda copiou o swf do cliente e colocou em seu blog <img src='http://www.leonardofranca.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Referências<br />
<a href="http://www.leonardofranca.com.br/index.php/2008/05/19/protegendo-seu-conteudo-de-video-com-flash-media-server/">http://www.leonardofranca.com.br/index.php/2008/05/19/protegendo-seu-conteudo-de-video-com-flash-media-server/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardofranca.com.br/index.php/2010/03/05/protecao-simples-de-conteudo-com-flash-media-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Radicalismo?</title>
		<link>http://www.leonardofranca.com.br/index.php/2010/02/25/radicalismo/</link>
		<comments>http://www.leonardofranca.com.br/index.php/2010/02/25/radicalismo/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 14:00:33 +0000</pubDate>
		<dc:creator>Leonardo França</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.dotpix.com.br/~leo/?p=80</guid>
		<description><![CDATA[
			
				
			
		
Esse post foi originalmente escrito há alguns anos, estava somente como rascunho e estranhamente permanece atual.
As vezes vejo na internet um certo movimento "anti-Flash", algo realmente estranho, parece religião ou torcida organizada. Há uma cultura de dizer que o Flash é um programa "de fazer uma bolinha andar" ou entao que "Flash tem acessibilidade zero", [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F02%2F25%2Fradicalismo%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F02%2F25%2Fradicalismo%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Esse post foi originalmente escrito há alguns anos, estava somente como rascunho e estranhamente permanece atual.</p>
<p>As vezes vejo na internet um certo movimento "anti-Flash", algo realmente estranho, parece religião ou torcida organizada. Há uma cultura de dizer que o Flash é um programa "de fazer uma bolinha andar" ou entao que "Flash tem acessibilidade zero", isso esta muito longe de ser verdade. é possivel fazer aplicações extremamente complexas com o Flash. E no momento há uma especie de "disputa" entre<span id="more-80"></span> <del datetime="2010-02-25T08:55:46+00:00">AJAX X FLASH</del> <del datetime="2010-02-25T09:33:04+00:00">Flash x Silverlight</del> Flash x HTML5. De tempos em tempos surge um novo "Flash-killer", a meu ver são tecnologias distintas e servem para integrar uma a outra. Vejo o mesmo tipo de radicalismo em relação ao PHP X Cold Fusion, ASP X PHP, PHP X PHYTON, Open Source X Codigo Proprietario etc.<br />
Eu mesmo já fui muito radical, defendendo o PHP com unhas e dentes, falava mal de qualquer outra linguagem que não fosse PHP sem nem ao menos conhece-la, mas percebi que quem continua pensando assim, limita seu mundo a grandes possibilidades, hoje em dia não importa a ferramenta que você usa mas sim o como você usa a ferramenta, quem já ouviu "O mau empregado culpa a sua ferramenta de trabalho"?.<br />
Sempre trabalhei com Flash e PHP, quando entrei no Bancoob, me vi obrigado a aprender Java, foi um desafio e tanto que consegui superar. Pouco tempo depois entrei no projeto de migração, onde teria que programar em C# e Visual Basic, muitos amigos meus simplesmente não aceitariam entrar no projeto. Ouvi coisas do tipo: "olha meu curriculo e veja se tem VB nele" e chamado de frouxo, mas o resultado final foi uma grande experiência para mim, tive oportunidade de crescer muito.<br />
Já entrei em muitas discussões filosóficas, e hoje não tenho mais paciência para isso, quando vejo que a conversa esta tendendo para o radicalismo ou religião, perco totalmente a vontade de discutir.<br />
Trabalho com Flash desde a versão 5, acompanhei de perto a evolução da ferramenta, sendo que a muito tempo deixou de ser apenas um "plugin", se tornando uma plataforma de desenvolvimento para os mais diversos dispositivos. E claro com isso, dispertou a concorrência, o que é ótimo. Afinal é preciso evoluir sempre.</p>
<blockquote><p>
Desenvolvedores que não trabalham com Flash, subestimam o poder que ele tem.
</p></blockquote>
<p>Não sou o único que pensa que essa história de que "um vai substituir o outro" não faz o menor sentido, a propria Adobe prega que as duas funcionam perfeitamente juntas, tanto que o <a href="http://www.youtube.com/watch?v=v69S22ZBBqA&#038;feature=player_embedded">Adobe Dreamweaver CS5 já tem suporte ao HTML5</a>.<br />
O lançamento do IPad foi o estopim para os ditos "anti-Flash". Estava montado o cenário perfeito para um discussão saudavel, onde poderiamos apontar os pontos forte e fracos de determinada tecnologia e de como pode ser melhorada. Mas o que vimos é justamente o contrário, já vi vários artigos e comentários de pessoas simplesmente dizendo "eu odeio Flash", <a href="http://tecnologia.terra.com.br/interna/0,,OI4239996-EI4799,00-Adobe+usa+pornografia+para+criticar+Apple+e+iPad.html">sites com manchetes sensacionalistas</a>(<a href="http://theflashblog.com/?p=1703">o que fizeram com o post do Lee foi revoltante!!!</a>), <a href="http://blogs.adobe.com/jnack/2010/02/adobe_is_sabotaging_html5.html">cada semana um boato diferente em que as pessoas acreditam sem verificar as fontes</a> e a mesma conversa de 5 anos atras.</p>
<p>Enquanto isso, o cliente ta pouco se importando se você usa aquela ou essa ferramenta, o que importa para ele é que você faça o serviço.</p>
<blockquote><p>
O mau empregado culpa a sua ferramenta de trabalho.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardofranca.com.br/index.php/2010/02/25/radicalismo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash Camp Brasil = Sucesso!!!</title>
		<link>http://www.leonardofranca.com.br/index.php/2010/01/18/flash-camp-brasil-sucesso/</link>
		<comments>http://www.leonardofranca.com.br/index.php/2010/01/18/flash-camp-brasil-sucesso/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 14:42:38 +0000</pubDate>
		<dc:creator>Leonardo França</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Media Server]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[IPhone]]></category>
		<category><![CDATA[User Groups]]></category>

		<guid isPermaLink="false">http://www.leonardofranca.com.br/?p=566</guid>
		<description><![CDATA[
			
				
			
		
Estive no evento inédito no Brasil, o Flash Camp Brasil, ocorrido nos ultimos dias 15 e 16 em Maceió.
Para começar, foi uma aventura conseguir ir ao evento, com passagens caras e hoteis lotados, mas é algo que não perderia por nada no mundo.
Fiquei hospedado num albergue e para minha sorte, na manha do dia 15, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F01%2F18%2Fflash-camp-brasil-sucesso%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2010%2F01%2F18%2Fflash-camp-brasil-sucesso%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><div id="attachment_592" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.leonardofranca.com.br/wp-content/uploads/2010/01/18012010001.jpg"><img src="http://www.leonardofranca.com.br/wp-content/uploads/2010/01/18012010001-300x225.jpg" alt="Flash Camp Brasil - Eu Fui!!!" title="18012010(001)" width="300" height="225" class="size-medium wp-image-592" /></a><p class="wp-caption-text">Flash Camp Brasil - Eu Fui!!!</p></div><br />
Estive no evento inédito no Brasil, o <a href="http://www.flashcampbrasil.com.br/">Flash Camp Brasil</a>, ocorrido nos ultimos dias 15 e 16 em Maceió.<br />
Para começar, foi uma aventura conseguir ir ao evento, com passagens caras e hoteis lotados, mas é algo que não perderia por nada no mundo<span id="more-566"></span>.<br />
Fiquei hospedado num <a href="http://www.albergueplanob.com.br">albergue</a> e para minha sorte, na manha do dia 15, trocaram um poste da rua, e meu notebook com a bateria bixada, resolvi ir ao hotel do evento para me familializar com o caminho.<br />
O caminho do albergue pro hotel foi mais perto do que imaginava, tendo somente que esperar ancioso por 7 horas ate começar o evento.<br />
Enquanto esperava sentado no sofa e com uma tomada a disposição(ufa!!!), reencontro a Gabriela Zaninetti, Marketing Manager da Adobe Systems Brasil, logo em seguida vou ao local da palestra e dos mini-cursos, conheci <a href="http://www.actioncriacoes.net/portfolio/">Demian Borba</a> que já estava a todo vapor nos últimos preparativos do evento e me apresentou o <a href="http://www.lipao.com.br/">Filipe Cunha</a> da Globo.com, pena que não deu para assistir o mini-curso dele. Quem estava la também era <a href="http://www.pedrotaranto.com.br/">Pedro Taranto</a>(quase nos esbarramos no aeroporto).<br />
Pouco tempo depois a Gabi me apresentou o <a href="http://www.fmanzi.com.br/">Fabricio Manzi</a>, cara que conhecia a anos e só no evento pude finalmente conhece-lo pessoalmente . Em seguida tive a oportunidade de conhecer o <a href="http://www.vorttice.com">Tiago Venegas</a>, com quem mais tarde troquei ideias sobre o Flash Media Server, Cássio Souza, Diretor Técnico da <a href="www.gringo.nu">Gringo</a> e o Diego do <a href="http://www.coc.com.br">COC</a>, apos algum tempo de conversa, chega <a href="http://www.igorcosta.com/blog/">Igor Costa</a>, outro que so conhecia pela web e tive a oportunidade de conhecer pessoalmente, joguei um pouco de Mortal Kombat vs DC Comics e levei uma surra do <a href="http://www.netoleal.com.br/">Neto Leal</a>.<br />
Poucos minutos antes de começar o evento, ao entrar no auditorio, reencontro o <a href="http://theflashblog.com/">Lee</a> com quem tive uma rapida conversa sobre como foram nossas viagens.<br />
No intervalo tive a oportunidade de conhecer o <a href="http://www.becklog.org/">Beck Novaes,</a> no qual me mostrou um pouco da palestra que iria fazer no dia seguinte. No final do evento, pude conhecer <a href="http://www.brunoribeiro.net/">Bruno Ribeiro</a> que me contou sobre o projeto que ganhou o mini ignite.</p>
<p><strong>Sobre as palestras</strong><br />
<strong>Primeiro dia</strong><br />
Bom, auditorio cheio, tudo devidamente preparando e Demian abriu o evento com uma apresentação emocionante sobre a <a href="http://www.efmexperience.com">EFM</a> e de como surgiu seu sonho de realizar um Flash Camp no Brasil.</p>
<p><a href="http://www.bigspaceship.com">Joshua Hirsch</a> Minister of Technology da Big Spaceship, comentou sobre como sua empresa trabalha e demostrou alguns projetos bem interessantes no qual o desenvolvedor so programa mesmo na ultima etapa do projeto, primeiramente é preciso comprar uma maquina de fazer fumaça.</p>
<p>A segunda palestra foi do <a href="http://www.32bits.com.br">Daniel Morena</a> Diretor de Criação da agência 32 Bits, sobre Realidade Ampliada 1.0, essa realmente me surpreendeu, ele demonstrou sistemas feitos a alguns anos com a Flash Platform usando multitouch quando nem se imaginava isso. Pude dar meus parabens pessoalmente para Daniel Morena.</p>
<p><strong>Segundo dia</strong><br />
O segundo dia se iniciou com a palestra do <a href="http://www.blog.rivello.org/">Sam Rivello</a>, CEO da <a href="http://www.rivellomultimediaconsulting.com">RMC</a>, comparando biologia com programação, demostrou de maneira simples e objetiva a simulação de comportamentos biologicos na programação no Flex 4.</p>
<p>A segunda palestra foi a do Igor Costa, bem descontraida e animada, ele mostrou 40 diferenças que considera significativas na mudança entre o Flex 3 e o Flex 4.</p>
<p>Tiago Venegas iniciou sua palestra explicando as novidades do Flash Media Server 3.5, demostrou o vorttice, uma ferramenta de conference que não fica devendo em nada ao Adobe Connect, demonstrou também como é feito o dynamic stream. </p>
<p>Em seguida, Lee explicou algumas novidades sobre o Flash Player 10.1 e criou um exemplo usando o Adobe Flash CS5 exportando diretamente um aplicativo nativo para IPhone.</p>
<p>A apresentação do Cássio Souza iniciou-se com uma historia sobre como é o modo de trabalho na Gringo, em seguida explicou o design pattern <a href="http://github.com/cassiozen/AS3-State-Machine">State Machine</a>. Você já pode ter usado State Machine e não sabia.</p>
<p><a href="http://www.danieldura.com/">Daniel Dura</a> contou a historia do multitouch e demonstrou como ela pode ser trabalhada na Flash Platform. </p>
<p>A palestra de encerramento do evento ficou a cargo do Beck Novaes sobre OutBox, e na minha opnião, foi encerrada com chave de ouro, foi simplesmente fantastica, considero uma das melhores palestras do evento. </p>
<p>Esse foi um resumo rapido sobre como foi minha aventura no Flash Camp Brasil e o sentimento final é que valeu muito a pena, Maceió foi perfeita para o evento e um grito marcou o Flash Camp Brasil: "<strong>sa porra!!!</strong>".</p>
<p>Veja as fotos do evento:<br />
<a href="http://www.garagem.com.br/novo_garagem/eventos/flashweb/1024/index.php?cd_evento=1227">http://www.garagem.com.br/novo_garagem/eventos/flashweb/1024/index.php?cd_evento=1227</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardofranca.com.br/index.php/2010/01/18/flash-camp-brasil-sucesso/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Elevando os poderes do Flash Lite com o S60 Platform Services</title>
		<link>http://www.leonardofranca.com.br/index.php/2009/12/21/elevando-os-poderes-do-flash-lite-com-o-s60-platform-services/</link>
		<comments>http://www.leonardofranca.com.br/index.php/2009/12/21/elevando-os-poderes-do-flash-lite-com-o-s60-platform-services/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 23:23:37 +0000</pubDate>
		<dc:creator>Leonardo França</dc:creator>
				<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Nokia]]></category>

		<guid isPermaLink="false">http://www.leonardofranca.com.br/?p=543</guid>
		<description><![CDATA[
			
				
			
		
A Nokia criou um conjunto de classes para ser utilizada juntamente com o Flash Lite, na Flash Lite Developer’s Library, permitindo criar conteudo em Flash para os mais diversos dispositivos desenvolvidos para plataforma S60.
O S60 Platform Services tem como objetivo, aumentar os poderes do Flash Lite, dando acesso a recursos que nativamente, ainda não são [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2009%2F12%2F21%2Felevando-os-poderes-do-flash-lite-com-o-s60-platform-services%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2009%2F12%2F21%2Felevando-os-poderes-do-flash-lite-com-o-s60-platform-services%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>A Nokia criou um conjunto de classes para ser utilizada juntamente com o Flash Lite, na Flash Lite Developer’s Library, permitindo criar conteudo em Flash para os mais diversos dispositivos desenvolvidos para plataforma S60.<br />
O S60 Platform Services tem como objetivo, aumentar os poderes do Flash Lite, dando acesso a recursos que nativamente, ainda não são suportados no Flash Lite.<br />
A API Services é suportada em dispositivos com Flash Lite 3.0 e Symbiam S60 5th Edition como o Nokia N97.<br />
Segue alguns exemplos de usos da API Services da Nokia<span id="more-543"></span>.</p>
<ul>
<li><a href="GUID-E092BF10-C076-4476-9E80-87919940201B.html#GUID-E092BF10-C076-4476-9E80-87919940201B" shape="rect">Access and launch applications on a device</a> using the <a href="GUID-2D651505-F68C-4053-B565-9FF826C5B897.html#GUID-2D651505-F68C-4053-B565-9FF826C5B897" shape="rect">AppManager Service API</a></li>
<li><a href="GUID-AE9A928B-F938-49B5-BC9E-72CB42046571.html#GUID-AE9A928B-F938-49B5-BC9E-72CB42046571" shape="rect">Access and manage calendar information</a> using the <a href="GUID-CABB28B8-D2B1-496B-BD7E-34FF496E60B4.html#GUID-CABB28B8-D2B1-496B-BD7E-34FF496E60B4" shape="rect">Calendar Service API</a></li>
<li><a href="GUID-662F2E2E-9538-42E5-9B5A-5664F1C11A9E.html#GUID-662F2E2E-9538-42E5-9B5A-5664F1C11A9E" shape="rect">Access and manage information about contacts</a> using the <a href="GUID-A5853293-7B83-4CCE-9C29-B2B8F0CD8A18.html#GUID-A5853293-7B83-4CCE-9C29-B2B8F0CD8A18" shape="rect">Contacts Service API</a></li>
<li><a href="GUID-D581028C-06ED-422D-866E-AE6C93075084.html#GUID-D581028C-06ED-422D-866E-AE6C93075084" shape="rect">Access and manage information about landmarks</a> using the <a href="GUID-B8845FF1-D7F6-476A-8651-8B9C12D8789F.html#GUID-B8845FF1-D7F6-476A-8651-8B9C12D8789F" shape="rect">Landmarks Service API</a></li>
<li><a href="GUID-CF55DBA3-2D4C-4FD0-8A06-862E6128F4E7.html#GUID-CF55DBA3-2D4C-4FD0-8A06-862E6128F4E7" shape="rect">Access device logging events</a> using the <a href="GUID-F003B7DD-E450-49AD-B447-C5132FE47D3C.html#GUID-F003B7DD-E450-49AD-B447-C5132FE47D3C" shape="rect">Logging Service API</a></li>
<li><a href="GUID-4DDE31C7-EC0D-4EEC-BC3A-A0B0351154F8.html#GUID-4DDE31C7-EC0D-4EEC-BC3A-A0B0351154F8" shape="rect">Access device location information and perform location-based calculations</a> using the <a href="GUID-53CE4DE6-F065-4339-8C18-5C30A9540053.html#GUID-53CE4DE6-F065-4339-8C18-5C30A9540053" shape="rect">Location Service API</a></li>
<li><a href="GUID-E3D26890-581A-427F-8AFF-16081528A8B8.html#GUID-E3D26890-581A-427F-8AFF-16081528A8B8" shape="rect">Access information about media files stored on a device</a> using the <a href="GUID-E5684FF0-28C9-4721-9421-6B9432087086.html#GUID-E5684FF0-28C9-4721-9421-6B9432087086" shape="rect">Media Management Service API</a></li>
<li><a href="GUID-2240F5BE-97BD-4CB3-8DB3-B5CF7C23BF54.html#GUID-2240F5BE-97BD-4CB3-8DB3-B5CF7C23BF54" shape="rect">Send, retrieve, and manage messages such as SMS and MMS</a> using the <a href="GUID-91579EE5-A608-401C-82B4-DCF1723EC7B5.html#GUID-91579EE5-A608-401C-82B4-DCF1723EC7B5" shape="rect">Messaging Service API</a></li>
<li><a href="GUID-6FBE64B7-0949-4AAE-B835-52B276540A59.html#GUID-6FBE64B7-0949-4AAE-B835-52B276540A59" shape="rect">Access data from the physical sensors of a device</a> using the <a href="GUID-B77C2006-879F-4AC6-B7BF-04B25B563A29.html#GUID-B77C2006-879F-4AC6-B7BF-04B25B563A29" shape="rect">Sensor Service API</a></li>
<li><a href="GUID-E0ED671A-BBDA-4C07-828F-BD35782D9B36.html#GUID-E0ED671A-BBDA-4C07-828F-BD35782D9B36" shape="rect">Access and modify system information on a device</a> using the <a href="GUID-AEB26A58-1DE2-46CB-81EC-6DB3A477B7A3.html#GUID-AEB26A58-1DE2-46CB-81EC-6DB3A477B7A3" shape="rect">SystemInfo Service API</a></li>
</ul>
<p>Outro exemplo bacana:<br />
Accessing GPS with Nokia Platform Services<br />
<a href="http://vimeo.com/7343089">http://vimeo.com/7343089</a><br />
<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7343089&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7343089&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object></p>
<p>para saber mais:<br />
<a href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Flash_Lite/QuickStart.xhtml">http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Flash_Lite/QuickStart.xhtml</a><br />
Using Platform Services<br />
<a href="http://library.forum.nokia.com/index.jsp?topic=/Flash_Lite_Developers_Library/GUID-46EABDC1-37CB-412A-ACAD-1A1A9466BB68.html ">http://library.forum.nokia.com/index.jsp?topic=/Flash_Lite_Developers_Library/GUID-46EABDC1-37CB-412A-ACAD-1A1A9466BB68.html </a></p>
<p>Flash Lite Developer’s Library<br />
<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/43ca0681-c8c6-4684-ad71-c4ac41f3ee4f/Flash_Lite_Developers_Library.html">http://www.forum.nokia.com/info/sw.nokia.com/id/43ca0681-c8c6-4684-ad71-c4ac41f3ee4f/Flash_Lite_Developers_Library.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardofranca.com.br/index.php/2009/12/21/elevando-os-poderes-do-flash-lite-com-o-s60-platform-services/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash Camp Brasil</title>
		<link>http://www.leonardofranca.com.br/index.php/2009/12/08/flash-camp-brasil/</link>
		<comments>http://www.leonardofranca.com.br/index.php/2009/12/08/flash-camp-brasil/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:20:41 +0000</pubDate>
		<dc:creator>Leonardo França</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[IPhone]]></category>
		<category><![CDATA[User Groups]]></category>

		<guid isPermaLink="false">http://www.leonardofranca.com.br/?p=546</guid>
		<description><![CDATA[
			
				
			
		
Falta Pouco mais de um mês para o maior evento já realizado no Brasil sobre a Flash Plaftorm, o Flash Camp Brasil.
Teremos no evento algumas novidades apresentadas no MAX 2009, como suporte a multitouch no Flash Player, o Adobe Flash CS5 gerando aplicativos nativos para IPhone e muito mais.
Mais detalhes:
http://www.flashcampbrasil.com.br
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2009%2F12%2F08%2Fflash-camp-brasil%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.leonardofranca.com.br%2Findex.php%2F2009%2F12%2F08%2Fflash-camp-brasil%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><div id="attachment_547" class="wp-caption aligncenter" style="width: 283px"><a href="http://www.flashcampbrasil.com.br"><img src="http://www.leonardofranca.com.br/wp-content/uploads/2009/12/small_flash_camp_brasil.jpg" alt="Flash Camp Brasil" title="small_flash_camp_brasil" width="273" height="100" class="size-full wp-image-547" /></a><p class="wp-caption-text">Flash Camp Brasil</p></div>Falta Pouco mais de um mês para o maior evento já realizado no Brasil sobre a Flash Plaftorm, o <a href="http://www.flashcampbrasil.com.br">Flash Camp Brasil</a>.<br />
Teremos no evento algumas novidades apresentadas no MAX 2009, como suporte a multitouch no Flash Player, o <a href="http://theflashblog.com/?p=1523">Adobe Flash CS5</a> gerando aplicativos nativos para IPhone e muito mais.<br />
Mais detalhes:<br />
<a href="http://www.flashcampbrasil.com.br">http://www.flashcampbrasil.com.br</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardofranca.com.br/index.php/2009/12/08/flash-camp-brasil/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
