Jekyll2017-03-29T04:46:19+00:00https://naaando.gitlab.io//Moon Inc.Yet another blog about linux and programming :) .
Fernando da Silva SousaIntrodução ao vala!2017-02-02T03:10:00+00:002017-02-02T03:10:00+00:00https://naaando.gitlab.io/programa%C3%A7%C3%A3o/vala/2017/02/02/Vala-intro<p><em>Vala</em> é uma linguagem orientada a objetos que apareceu nos meádos de 2006, possui forte influência por suas antecessoras crônológicas <em>C, C++, Java</em> e <em>C#</em> seu compilador não gera bytecode, invés disso, gera código C usando o sistema GObjects para estender sua funcionalidade. Essa publicação deduz que você já tem um certo grau de conhecimento de programação, se atentando em dar ênfase a Orientação à objetos.</p>
<h2 id="olá-mundo">Olá Mundo!</h2>
<p>O famoso hello world, é como um rito de passagem para uma nova linguagem.</p>
<figure class="highlight"><pre><code class="language-c#" data-lang="c#"><span class="kt">int</span> <span class="k">static</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">string</span><span class="p">[]</span> <span class="n">args</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// stdout é o namespace
</span> <span class="n">stdout</span><span class="p">.</span><span class="nf">printf</span><span class="p">(</span><span class="s">"Olá Mundo"</span><span class="p">);</span>
<span class="k">return</span> <span class="m">0</span><span class="p">;</span>
<span class="p">}</span></code></pre></figure>
<h2 id="funções">Funções</h2>
<p>Relembrando, as funções do <em>Vala</em>, tem um forte apelo visual matemático, fazendo uso de parenteses (), colchetes [] e chaves {}, e não podem ser sobrecarregadas( #TRISTE ).</p>
<p>As funções podem ser:</p>
<ul>
<li>
<h1 id="funções-sem-argumentos"><strong>Funções sem argumentos</strong></h1>
</li>
</ul>
<p>As funções sem argumentos podem gerar código mais limpo, evitar a duplicação de código e limitar o escopo da funcionalidade tornando mais fácil encontrar possíveis erros em funcionalidades específicas, não hesite em usa-lás.</p>
<figure class="highlight"><pre><code class="language-c#" data-lang="c#"><span class="k">void</span> <span class="nf">imprimir_na_tela</span><span class="p">()</span> <span class="p">{</span>
<span class="n">stdout</span><span class="p">.</span><span class="nf">printf</span><span class="p">(</span><span class="s">"Imprimindo na tela"</span><span class="p">);</span>
<span class="p">}</span></code></pre></figure>
<ul>
<li>
<h4 id="funções-que-passam-argumentos"><strong>Funções que passam argumentos</strong></h4>
</li>
</ul>
<figure class="highlight"><pre><code class="language-c#" data-lang="c#"><span class="kt">string</span> <span class="nf">bem_vindo</span><span class="p">()</span> <span class="p">{</span>
<span class="kt">string</span> <span class="n">msg</span> <span class="p">=</span> <span class="s">"Bem vindo ao tutorial de *Vala*"</span><span class="p">;</span>
<span class="k">return</span> <span class="n">msg</span><span class="p">;</span>
<span class="p">}</span></code></pre></figure>
<ul>
<li>
<h4 id="funções-que-recebem-argumentos"><strong>Funções que recebem argumentos</strong></h4>
</li>
</ul>
<figure class="highlight"><pre><code class="language-c#" data-lang="c#"><span class="k">void</span> <span class="nf">mostrador_velocidade</span><span class="p">(</span><span class="kt">float</span> <span class="n">velocidade</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// As strings em *Vala* podem ser concatenadas
</span> <span class="c1">// Tipos primitivos podem ter uma representação literal acessando o método .to_string();
</span> <span class="n">stdout</span><span class="p">.</span><span class="nf">printf</span><span class="p">(</span><span class="s">"A velocidade é :"</span> <span class="p">+</span> <span class="n">velocidade</span><span class="p">.</span><span class="nf">to_string</span><span class="p">());</span>
<span class="p">}</span></code></pre></figure>
<ul>
<li>
<h4 id="funções-que-recebem-e-passam-argumentos"><strong>Funções que recebem e passam argumentos</strong></h4>
</li>
</ul>
<figure class="highlight"><pre><code class="language-c#" data-lang="c#"><span class="kt">int</span> <span class="nf">peso</span><span class="p">(</span><span class="kt">int</span> <span class="n">massa</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">//Sempre especifique de onde vem os números no seu programa... [Numeros magicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(inform%C3%A1tica))
</span> <span class="n">gravidade</span> <span class="p">=</span> <span class="m">9.80665</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">temp</span> <span class="p">=</span> <span class="n">massa</span><span class="p">*</span><span class="n">gravidade</span><span class="p">;</span>
<span class="k">return</span> <span class="n">temp</span><span class="p">;</span>
<span class="p">}</span></code></pre></figure>
<h2 id="tipos-de-variáveis">Tipos de variáveis</h2>
<p>Os tipos básicos de <em>Vala</em> mais usados são,</p>
<ul>
<li>void</li>
<li>int</li>
<li>float</li>
<li>double</li>
<li>char</li>
<li>string</li>
<li>enum</li>
<li>struct</li>
</ul>Fernando da Silva SousaVala é uma linguagem orientada a objetos que apareceu nos meádos de 2006, possui forte influência por suas antecessoras crônológicas C, C++, Java e C# seu compilador não gera bytecode, invés disso, gera código C usando o sistema GObjects para estender sua funcionalidade. Essa publicação deduz que você já tem um certo grau de conhecimento de programação, se atentando em dar ênfase a Orientação à objetos.Falha google chrome expõe dados do usuário!2017-01-30T18:21:37+00:002017-01-30T18:21:37+00:00https://naaando.gitlab.io/security/2017/01/30/falha-chrome<p>Foi publicada no github a demonstração de uma falha de segurança que pode expor informações pessoais como endereço, telefone, cpf, etc.</p>
<p>A falha ocorre no Google Chrome que dispõe de um recurso de preenchimento automático de campo, assim mesmo os formulários ocultos aos usuários acabam por ser preenchidos, podendo enviar dados pessoais sem o consentimento do usuário.</p>
<p><img src="https://github.com/anttiviljami/browser-autofill-phishing/raw/master/autofill-demo.gif" alt="Comportamento do Google Chrome" /></p>
<h2 id="outros-browsers-como-firefox-e-safari-não-são-afetados">Outros browsers como firefox e safari não são afetados.</h2>
<p>Mais informações e uma demonstração da falha podem ser encontrados no <a href="https://github.com/anttiviljami/browser-autofill-phishing">github</a></p>
<p>O problema já existe desde 2012, mas nunca foi considerado uma vunerabilidade.</p>
<ul>
<li><a href="https://yoast.com/autocomplete-security/">Why you should not use autocomplete - Yoast</a></li>
</ul>
<h1 id="como-desativar-o-recurso">Como desativar o recurso</h1>
<ul>
<li>Vá até configurações ou settings, dependendo do idioma.</li>
<li>Desça a pagina, clique em Mostrar configurações avançadas</li>
<li>Em senhas e formulários, desmarque Ativar preenchimento automático</li>
</ul>Fernando da Silva SousaFoi publicada no github a demonstração de uma falha de segurança que pode expor informações pessoais como endereço, telefone, cpf, etc.