Como bloquear ou liberar um IP de acessar um site pelo .htaccess?

Algumas vezes durante testes locais ou até mesmo em produção surge a necessidade de limitar o acesso ao servidor HTTP de alguma forma.

Se o servidor der suporte ao .htaccess (apache por exemplo) essa acaba sendo uma forma interessante de se chegar ao objetivo.

Para bloquear um IP específico

Order Allow,Deny
Deny from 192.168.1.10
Allow from all

Note que você precisa negar o acesso ao IP indesejado e permitir os demais por causa do Order colocado anteriormente.

Para dar acesso apenas a um IP específico

Order Deny,Allow
Deny from all
Allow from 192.168.1.10

Perceba agora a sutil diferença nos parâmetros do Order. Isso fará com que primeiro todos os ips sejam negados e depois aquele específico liberado.

Há outras possibilidades ainda, como por exemplo permitir ranges de IP. Substituindo o IP 192.168.1.10 por 192.168.1 fará com que todos os IPs iniciados daquela forma sejam considerados.

Como testar a propagação do DNS?

Quando se faz alguma mudança no DNS de um domínio, é necessário que ele se propague por todo o planeta – operação que não é instantânea. Em alguns casos essa propagação pode levar até algumas horas.

Há uma forma simples de se testar e monitorar se essa propagação se deu com sucesso, através do site What’s My DNS? (www.whatsmydns.net)

 

What's My DNS?

Esse serviço testa a propagação do DNS em vários pontos do planeta. Caso no DNS de seu provedor ainda não tenha sido atualizado ainda (o que pode ser um problema relativo ao cache do seu DNS) você pode ter a noção se a mudança foi efetivada de fato, testando em outros pontos do globo.

Erro no LaTeX com Beamer “Paragraph ended before \@xverbatim was complete.”

Utilizar \begin{verbatim} \end{verbatim} em apresentações feitas em LaTeX com o pacote Beamer poderão gerar o seguinte erro:

 "Paragraph ended before \@xverbatim was complete."

Para que isso não ocorra você deve informar que o frame em questão é “fragile” da seguinte forma:

\begin{frame}[fragile]
  \frametitle{Título do frame}
  \begin{verbatim}
  Código que quero colocar dentro de verbatim.
  \end{verbatim}
  Resto do meu slide.
\end{frame}

Outro detalhe é que deve ser sempre utilizado os comandos \begin{verbatim} \end{verbatim} o comando seguinte não funciona mesmo com o fragile:

\verbatim{
meu
texto
em
verbatim
}

Como limpar o cache de DNS no Windows, Linux ou MAC OS?

Limpando o cache de DNS no Windows

Para limpar o cache do DNS no Windows você deve inicializar o MS Dos (Iniciar, Executar, cmd.exe) como administrador.

No MS Dos deve digitar o comando:

ipconfig /flushdns

Limpando o cache de DNS no Linux

Para limpar o cache do DNS no Linux você deve reiniciar o daemon nscd através do seguinte comando como root:

/etc/rc.d/init.d/nscd restart

Limpando o cache de DNS no Mac OS X Leopard

Para limpar o cache do DNS no Mac OS X Leopard você deve digitar no terminal o comando:

lookupd -flushcache

Limpando o cache de DNS no Mac OS X

Para limpar o cache do DNS no Mac OS X você deve digitar no terminal o comando:

dscacheutil -flushcache

Como instalar Google Analytics no seu blog em WordPress?

A ferramenta Google Analytics é essencial para qualquer tipo de conteúdo na internet. Ela permite a visualização das estatísticas relacionadas as visitas de usuários em seu site. São inúmeras as opções de relatórios. A ferramenta se faz fundamental para o acompanhamento do desempenho de um site pois ela permite que você analise o retorno de mudanças, novidades ou assuntos específicos em seu site.

Mas nem sempre blogueiros tem um background técnico, muito pelo contrário, normalmente o pessoal gosta de escrever sobre assuntos que lhe são atraentes e encontram nos blogs uma opção para compartilhar seus textos e ideias. A plataforma mais utilizada para criação de blogs é o WordPress e por essa razão é nele que mostrarei como colocar o Google Analytics para funcionar.

Vou mostrar aqui 3 formas para inserir o código necessário dentro da plataforma WordPress:

1) Instalar plugin para Google Analytics.
Uma das formas mais fáceis e sem complicações, entretanto ainda prefiro a opção seguinte por ser mais completa.

2) Instalar plugin All in One SEO Pack.
Este plugin é um pouco mais complexo que o primeiro mas além de você instalar o Google Analytics você ainda tem várias configurações extra para melhor rankeamento do seu site pelos buscadores. E realmente faz diferença tê-lo instalado ou não, é um dos must have plugins do WordPress.

3) Colocar o código JavaScript diretamente no template, por exemplo no rodapé que irá aparecer em todas as páginas.
Esta é uma opção hardcode e de díficil implementação para aqueles não familiarizados com as linguagens PHP e HTML.

O que significa o (not provided) no Google Analytics?

A expressão (not provided) entre os termos procurados nos buscadores no painel do Google Analytics significa que um visitante autenticado no Google acessou o seu site através do buscador.

Desde outubro de 2011, o Google implementou o protocolo SSL nas buscas para os usuários autenticados alegando em seu blog oficial questões de segurança e privacidade. Dessa forma, se o seu site receber uma visita proveniente de alguma busca que contar com a criptografia SSL ela será identificada apenas como (not provided).

O que fazer?

Infelizmente não há nada o que se possa fazer para saber quais foram os termos buscados. O que pode servir de consolo porém, é que os clicks pagos continuarão a ser monitorados como anteriormente.

Função trim em javascript

A função trim é muito utilizada para tratar strings em várias linguagens, entretanto não há implementação padrão em Javascript.

Essa função consiste em retirar alguns caracteres (normalmente os espaços em branco, quebras de linha ou outros caracteres relevantes) do início e do fim da string, com a finalidade de torná-la limpa.

O trim recebe dois parâmetros normalmente, o primeiro com a string a ser tratada e o segundo com os caracteres que serão removidos dos extremos, concatenados. Segue abaixo a implementação em Javascript:

function trim(entrada, indesejados){
	var i, retorno;
	retorno = entrada;
	var cortePadrao = " \n\t\r";
	if (typeof(indesejados)=='undefined' || indesejados =='') {
		indesejados = cortePadrao;
	} else {
		indesejados += cortePadrao;
	}
 
	//limpando o início
    for (i = 0; i < retorno.length; i++) {
        if (indesejados.indexOf(retorno.charAt(i)) === -1) {
            retorno = retorno.substring(i);
            break;
        }
    }
 
	//limpando o fim
    for (i = (retorno.length - 1); i >= 0; i--) {
        if (indesejados.indexOf(retorno.charAt(i)) === -1) {
            retorno = retorno.substring(0, i + 1);
            break;
        }
    }
	return retorno;
}

Outra opção é a utilização de uma expressão regular apenas para tirar espaços em branco e afins das beiradas da string. Nesse caso o javascript ficaria bem mais simples:

function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

Vale lembrar que se você estiver com a biblioteca do jQuery carregada por exemplo, a implementação já existe: jQuery.trim(str). Além disso alguns navegadores que implementam versões mais recentes do javascript possuem a função nativa. Entretanto contar com esse suporte faria seu site não ser funcional para uma parcela significativa dos usuários.