Para conectar na rede Wi-Fi, faça um check-in no Facebook

Uma das coisas que gerenciadores de mídias sociais mais buscam é o alcance social, que nada mais é que o mais puro e perfeito alcance “normal” das publicações, sem grandes intervenções do algoritmo da Facebook.

Imagem publicitária da NSEC Brasil mostra como funciona o sistema: Ao invés de senha para acessar à internet, o roteador pede check-ins na página da empresa no Facebook.

Imagem publicitária da NSEC Brasil mostra como funciona o sistema: Ao invés de senha para acessar à internet, o roteador pede check-ins na página da empresa no Facebook.

 

No Facebook Hackathon de 2012 um grupo de estudantes desenvolveu uma solução maravilhosa utilizando o SDK do Facebook. Tratava-se de um pequeno algoritmo acoplado a um roteador, que quando conectado à ele, ao invés de digitar senha para acessar a internet, ele pede check-ins em uma determinada página do Facebook. Não demorou muito para muitas soluções serem criadas utilizando esta tecnologia, desde complexos hotspots de internet, utilizando servidores Radius, até soluções prontas da Facebook Wi-Fi que também fazem este serviço.

A NSEC é uma das empresas que está habilitada a realizar a instalação e configuração do hotspot da Facebook, atualmente estão atendendo a todo Brasil através do seu site e por telefone, segue os contatos:

Site: www.nsec.com.br

Fone: (53) 3027-2110

 

AdBlock: Propaganda ou Lentidão

A algumas semanas resolvi abandonar do Google Chrome, quando ele bateu o recorde de utilização de 2GBs de memória do meu computador (que só possui 8). Era meados do lançamento do Firefox 64 bits para Windows, então baixei, importei meus favoritos e migrei para o Firefox.

Infelizmente, de pronto fiquei decepcionado com a baixa qualidade dos bloqueadores de ADS do Firefox, como o próprio AdBlock Plus.

Eis que surge a escolha: Propaganda no Firefox, ou Lentidão no Chrome?

A quem interessar, há como desabilitar a “whitelist” do ABP: http://dottech.org/25096/what-is-acceptable-ads-and-how-to-disable-it-adblock-plus/.

Wrap text in jQuery

function wrapText(elementID, openTag, closeTag) {
var textArea = $('#' + elementID);
var len = textArea.val().length;
var start = textArea[0].selectionStart;
var end = textArea[0].selectionEnd;
var selectedText = textArea.val().substring(start, end);
var replacement = openTag + selectedText + closeTag;
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
}

Como acabar com o SPAM em formulários – Solução simples com HTML

É fato que muitos dos formulários, como de contato, cadastro, entre outros, são diariamente alvos de bots (robôs) pré-programados para espalharem SPAM pela internet. Uma vez que seu site esteja indexado nos buscadores, seu site se torna alvo fácil deste tipo de ataque, não se apavore, isso é algo corriqueiro de acontecer, com todo mundo.

Infelizmente, hoje, a solução adotada por grande maioria (e até por mim, até conhecer essa) era de incluir um captcha, mas os bots já conseguem interpretar as letras e números oriundos da imagem através de um processo de OCR, logo, dificultamos, colocando somas e divisões simples, o que resolveu o problema, mas acabou com a usabilidade.

Esta solução, encontrei no blog DA2K, já apliquei em um site pessoal, e realmente funcionou, pretendo começar a utilizar mais seguidamente dela, vou tornar a publicação um pouco mais didática do que a original e mostrar como a solução funciona como um todo.

Resumo

Na verdade, é muito simples: Trata-se de criar um campo no formulário em questão que seja invisível visualmente (NOTA: Você precisa utilizar um “alpha” ou “opacity” para isto, um campo do tipo “hidden” não irá funcionar), como esses bots trabalham processando somente o HTML e não o formulário visual, sempre preencherá este campo. No caso de uma pessoa, como o campo é invisível, essa pessoa não o preencherá. O outro lado da solução, se dá no backend (no processador da linguagem, seja PHP, ASP, ou o que for), basta que façamos a validação se este campo invisível foi preenchido ou não.

Origem

Segundo o autor da publicação original, ele percebeu esta solução na ferramenta MailChimp, e não é por menos, o pessoal de lá tem colaborado exponencialmente com a comunidade de desenvolvedores.

Explicando melhor

Como mencionei anteriormente, basta criarmos no nosso formulário um campo “fantasma” que não receberá nenhum valor (passará pela validação), quando um bot interpretar o HTML do formulário, tentará preencher todos os campos, inclusive este, desta forma, não passará pela nossa validação.

como-acabar-spam-formulario

HTML:

<form method="post" ...>
...
<input type="text" id="txtInvisibleValidation" name="txtInvisibleValidation" style="display:block;width:1px;height:1px;border:0;padding:0px;background:transparent;" onfocus="document.getElementById('#txtName').focus();" />
...
</form>

A validação se dará no back-end por maior segurança (isso não quer dizer que você não possa tentar fazer no front), segue um exemplo escrito em PHP:

<?php

$nome = $_POST['txtName'];
$mail = $_POST['txtMail'];
$mensage = $_POST['txtMensage'];
$validation = $_POST['txtInvisibleValidation'];

if ($validation != '') { die('Error on validate form: you are human?!'); }

...

?>

Gostou?

Deixe seu comentário abaixo e me motive a escrever mais artigos. Se gostou muito, compartilhe.

JS – Validação de CPF que funciona

/**
 * Função para validação de CPF
 * @param String str numero do cpf para validar
 * @return true or false
 */
function validaCpf(str){
    str = str.replace('.','');
    str = str.replace('.','');
    str = str.replace('-','');
    cpf = str;
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;
    if (cpf.length < 11)
        return false;
    for (i = 0; i < cpf.length - 1; i++)
        if (cpf.charAt(i) != cpf.charAt(i + 1)){
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais){
        numeros = cpf.substring(0,9);
        digitos = cpf.substring(9);
        soma = 0;
        for (i = 10; i > 1; i--)
            soma += numeros.charAt(10 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
            return false;
        numeros = cpf.substring(0,10);
        soma = 0;
        for (i = 11; i > 1; i--)
            soma += numeros.charAt(11 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
            return false;
        return true;
    }
    else
        return false;
}