<?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>anjo2.com - Evil or not &#187; Programação</title>
	<atom:link href="http://www.anjo2.com/blog/tag/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anjo2.com/blog</link>
	<description>Blog pessoal sobre os segredos web</description>
	<lastBuildDate>Sat, 16 Jul 2011 03:11:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>CMS versus programação de raiz</title>
		<link>http://www.anjo2.com/blog/2009/08/cms-versus-programacao-de-raiz/</link>
		<comments>http://www.anjo2.com/blog/2009/08/cms-versus-programacao-de-raiz/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 00:56:09 +0000</pubDate>
		<dc:creator>anjo2</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpbb]]></category>
		<category><![CDATA[sites]]></category>

		<guid isPermaLink="false">http://www.anjo2.com/blog/?p=92</guid>
		<description><![CDATA[Os CMS (Content Management System) são cada vez mais conhecidos pela fácil instalação, utilização e expansibilidade, mas coloca-se algumas questões, será que são seguros? E rápidos? A maioria das linguagens da programação são compiladas e só depois as corremos, na mais conhecida e utilizada linguagem de programação web, o PHP, é interpretado em tempo real, [...]]]></description>
			<content:encoded><![CDATA[<p>Os CMS (Content Management System) são cada vez mais conhecidos pela fácil instalação, utilização e expansibilidade, mas coloca-se algumas questões, será que são seguros? E rápidos?</p>
<p>A maioria das linguagens da programação são compiladas e só depois as corremos, na mais conhecida e utilizada linguagem de programação web, o PHP, é interpretado em tempo real, sem a compilação antes, e sendo assim na maioria dos sites e CMS&#8217;s é possível alterar código directamente, e compilar o site ou CMS fica caro.<br />
Sendo de fonte aberta, será muito mais fácil detectar falhas de segurança, um dos exemplos mais conhecidos que temos são dos sistemas operativos Linux e Windows, em que linux é fonte aberta e Windows não, detectar falhas no linux seria mais fácil, mas com mais falhas detectadas mais vão ser corrigidas, já no Windows mesmo que tenha muito menos segurança será mais fácil detectar as falhas (e tem mais falhas de segurança).<br />
Mas o que será mais seguro? Vai depender muito do suporte dos proprietários do código e na sua rapidez em corrigir as falhas, no entanto se não actualizar sempre o sistema ficará sujeito a ter imensos problemas de segurança!!!</p>
<p><strong>Lição nº1:</strong> Ter SEMPRE o CMS actualizado!</p>
<p>A programação de raiz tem alguns benefícios, principalmente no que toca ao conhecimento do sistema, só quem o constrói que o conhece, logo à partida nenhuma falha é conhecida, mas poderá ter falhas graves se for mal feito, e que com um ataque poderá colocar em risco o site e os dados das pessoas (passwords, dados pessoais, etc.), outro dos contras será as actualizações, se mandar fazer o código de raiz quem vai fazer as actualizações?</p>
<p><strong>Lição nº2:</strong> Se mandar fazer programação procure sempre alguém com conhecimentos, de confiança e que dê garantias! De preferência uma empresa.</p>
<p><strong>Resumo de segurança:</strong> Um CMS bastante conhecido e sempre actualizado deverá ser bastante seguro, no entanto a programação de raiz se for bem feita será ainda mais segura, se for mal feito poderá resultar em desgraça.</p>
<p>A segurança não é tudo, nenhum visitante gosta que o site seja lento, é uma das maiores razões que faz os visitantes abandonarem o site precocemente, é bastante importante a velocidade a que abre um site, a utilização de imagens optimizadas para sites é bastante importante neste ponto, mas a programação também o é.</p>
<p>Este é um dos maiores problemas dos CMS, são bastante complexos, dão para tudo, mas são geralmente lentos, e quando existe enchentes de pessoas torna-se muitas vezes inavegável.<br />
A solução da maioria dos CMS foi a criação de um sistema de cache, sendo assim não é necessário grandes acessos às base de dados nem grande utilização de cpu. É uma excelente solução, mas não é garantido que funcione a 100%, um dos exemplos mais conhecidos é o do phpBB3, um sistema de cache que até passou a funcionar para fóruns com bastantes pessoas online, mas apenas temporariamente se não apagarmos a cache de vez em quando, gasta-se bastante espaço e são criados ficheiros a mais, resultando depois a ser até bastante difícil apagar os ficheiros&#8230;<br />
A melhor solução é fazer uma boa programação tendo em conta o que consome dos recursos do servidor, o que poderá resultar em menos funcionalidade, mas no caso de programação de raiz só irá colocar a funcionalidade que precisa e num CMS terá que haver funcionalidades para todos os gostos, o que será sempre pior.</p>
<p><strong>Lição nº3:</strong> Analisar o número de pessoas que estamos à espera de receber, se for alto (> 100 pessoas em simultâneo) deverá ser um sistema rápido e se possível com sistema de cache se for complexo.</p>
<p><strong>Resumo de velocidade:</strong> Programação de raiz será sempre mais rápido (a não ser que seja mesmo mal feito, o que muitas vezes acontece mesmo por pessoas que se dizem profissionais e com conhecimentos).</p>
<p>Dos pontos mais importantes para os webmasters é a funcionalidade dos sites, num CMS obtém-se bastante funcionalidade, muito mais do que a que precisamos, nos sistemas mais conhecidos existe módulos/plugins/addons feitos pelas pessoas e praticamente em poucos cliques adiciona-se funcionalidade num CMS, mas vão estar a abdicar de segurança e velocidade!</p>
<p><strong>Lição nº4:</strong> Instalar plugins apenas que sejam reconhecidos e actualiza-los sempre! Não instale plugins que sejam desnecessários! Deverá desinstalar os plugins que já não tenham mais suporte!</p>
<p><strong>Em resumo:</strong> Um site feito de raiz será sempre melhor que um CMS, mas para ter a mesma funcionalidade será MUITO mais caro, só compensará se tiver ganhos com o site ou seja de uma empresa, para sites pessoais e sem fins lucrativos use um CMS e tenha atenção às lições deste artigo, poderão evitar desastres&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anjo2.com/blog/2009/08/cms-versus-programacao-de-raiz/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kill Spammers</title>
		<link>http://www.anjo2.com/blog/2009/04/kill-spammers/</link>
		<comments>http://www.anjo2.com/blog/2009/04/kill-spammers/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 23:32:00 +0000</pubDate>
		<dc:creator>anjo2</dc:creator>
				<category><![CDATA[Alojamento]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[hotmail]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phplist]]></category>
		<category><![CDATA[sender id]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spf]]></category>

		<guid isPermaLink="false">http://www.anjo2.com/blog/?p=74</guid>
		<description><![CDATA[O Spam tem sido uma das grandes preocupações dos datacenters nos últimos tempos, parece impossível o parar e já existe medidas descontroladas para o parar e sem sucesso, um desses exemplos é a hotmail que rejeita mails mesmo que não sejam de Spam. A solução não é fácil, por vezes são colocados ips nas spam [...]]]></description>
			<content:encoded><![CDATA[<p>O Spam tem sido uma das grandes preocupações dos datacenters nos últimos tempos, parece impossível o parar e já existe medidas descontroladas para o parar e sem sucesso, um desses exemplos é a hotmail que rejeita mails mesmo que não sejam de Spam.</p>
<p>A solução não é fácil, por vezes são colocados ips nas spam list indevidamente, com envios de newsletters que até são legais, ou através das listas de emails ilegais em que todos os que estão nesse servidor acabam por pagar por causa de outrem, pelo que bloquear o número de mails por hora num servidor por conta é essencial, mas poderá causar alguns transtornos, pois em grandes comunidades, ao enviar uma newsletter não é possível enviar para todas as pessoas, o que até pode ser bom pois um envio massivo de mails pode causar instabilidade num servidor. Terá então que enviar em várias vezes, e a melhor solução será uma cron que corre de x em x minutos e enviar um número x de mails, para quem usa CMS&#8217;s conhecidos, poderá usar plataformas já feitas, <a href="http://docs.phplist.com/IntegratingPhpListWithOtherPackages" target="_blank">poderá ver aqui</a>.</p>
<p><strong>Como fazer o seu cron (requer conhecimentos em php e sql):</strong></p>
<ul>
<li> Adicionar uma nova tabela com id(chave primária, defeito 1), userid (defito 0), mailid (defeito 0), timestamp (defeito 0), status (defeito 0) (todos podem ser inteiros, caso não guarde em nenhum sitio poderá usar o mailid como o texto do mail e nesse caso deverá adicionar mais uma para informar se é html ou texto).</li>
<li>Criar um sistema php que vá buscar x usernames a partir do userid (ex.: &#8220;SELECT s1.email from `tabela_users` as s1, `tabela_cron_mail` as s2 where s1.id &gt; s2.iduser order by s1.id asc limit 50&#8243; e no fim  fazer um update do userid para o último enviado + 1 (para não enviar 2 vezes ao mesmo).</li>
<li> Quando já não houver mais ninguém a enviar colocar o status a 1 para indicar que foi enviado.</li>
</ul>
<p><strong>Nota:</strong> Isto são apenas alguns pontos que deverá ter atenção se quiser construir um sistema seu, existe um script de exemplo para envio de mail no &#8220;Repositório de código&#8221;, no entanto recomendamos o uso de smtp através da biblioteca especifica que poderá <a href="http://pear.php.net/package/Mail" target="_blank">encontrar aqui</a>.</p>
<p>Voltando ao assunto dos servidores, para quem tem um servidor, poderá vir a ter um problema com a hotmail e não só e para isso é preciso tomar algumas precauções, a primeira é o uso do SPF, para quem usa por exemplo o cPanel, bastará adicionar o seguinte nos templates de dns:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">%domain%. IN TXT &quot;v=spf1 a mx ip4: ?all&quot;
Ex.: %domain%. IN TXT &quot;v=spf1 a mx ip4:192.168.1.1 ?all&quot;</pre></div></div>

<p>Para os outros terão que adicionar manulamente um dns tipo TXT com esse conteúdo a cada um dos domínios.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Ex.: meudominio.com IN TXT &quot;v=spf1 a mx ip4:192.168.1.1 ?all&quot;</pre></div></div>

<p><strong>Nota:</strong> Ao adicionar no template, as contas já criadas não são influenciadas, para quem tem uma conta de revenda deverá ter atenção a isto, em último caso fale com o seu provedor de alojamento.</p>
<p>Poderá ir ainda mais longe, a hotmail/microsoft tem um sistema proprietário em que tem como base o Sender ID, e para isso é preciso registar o ip do servidor ou gama de ips em <a href="https://postmaster.live.com/snds/addnetwork.aspx" target="_blank">https://postmaster.live.com/snds/addnetwork.aspx</a>, poderá obter mais info sobre este sistema em <a href="http://postmaster.msn.com/Default.aspx" target="_blank">http://postmaster.msn.com/Default.aspx</a></p>
<p>Recomendamos que tenha cuidado com o envio de mails em massa para uma melhor regulação de todo o sistema de mails.</p>
<p>Actualização: Deixo aqui também o link para poderem adicionar os vossos domínios à lista da Microsoft relativamente aos SenderID, não esquecendo que o SPF é fundamental.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anjo2.com/blog/2009/04/kill-spammers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

