WordPress: Restringir o acesso ao wp-admin

Mais uma implementação de segurança fácil de habilitar no WordPress.

Caso queira evitar que usuários de determinado perfil não tenha acesso ao Painel de Controle, ou ainda, permitir acesso ao Painel de Controle somente a partir de um IP, ideal quando se quer amarrar que as publicações sempre ocorram dentro de seu ambiente de Intranet.

Existe diversas maneiras de fazer isso, seja com código PHP ou por meio de plugins, vejamos:

1. Restringir o acceso ao wp-admin com plugins:

Embora existam muitos plugins para esta finalidade, o que oferece mais possibilidade customização é o WP-Secure, que permite limitar o acesso ao Painel de Controle tanto por IP ou por determinado usuário. Muito bom.

2. Restringir o acceso ao wp-admin por IP:

Para este método, precisaremos editar/criar o arquivo .htaccess. 

a. Encontre o arquivo .htaccess na raiz de seu site, utilizando um cliente de FTP, caso não exista este arquivo, você pode criar o mesmo, e inserir o seguinte conteúdo:

[php]
Order Deny, Allow
Deny from all
Allow from xx.xx.xx.xx
Allow from xx.xx.xx.xx

[/php]

Onde xx.xx.xx.xx é o IP que pode acessar. Caso não saiba teu IP, pode utilizar este link.

Ainda não terminamos.

b. Agora vá até a pasta wp-admin de sua instalação WordPress e crie um outro .htaccess, e em seu interior, coloque essas linhas:

[php]
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx
Allow from xx.xx.xx.xx
[/php]

Novamente, o xx.xx.xx.xx representa o IP autorizado a acessar o Painel de Controle.

3. Restringir o acesso ao wp-admin por código PHP.

Esta é outra forma simples de conseguir os mesmos resultados, sem utilizar .htaccess ou plugins.

Edite o arquivo functions.php de seu tema, caso não tenha este arquivo, basta criar e colocar dentro da pasta de seu tema.

[php]
< ?php function restringir_login(){ global $current_user; get_currentuserinfo(); if ($current_user->user_level < 4) { //se não é admin, não entra. wp_redirect( get_bloginfo(‘url’) ); exit; } } add_action(‘admin_init’, ‘restringir_login’, 1); ?>
[/php]

Com este exemplo, todo usuário que não seja Administrador não poderá acessar o Painel de Controle, fácil assim.

Fontes e maiores informações:

YouWave: Permite instalar aplicações Android diretamente em seu Windows

Certamente muitos gostariam de usar aplicações para Android, porém pode ser que não tenham um dispositivo móvel com este S.O. Bem, agora já é possível rodar esses APP’s diretamente do Windows.

YouWave é um programa gratuito para Windows (trial 4 dias, depois tem que pagar U$ 14.00 ou ir atrás de uma versão “genérica”), que permite executar qualquer aplicação criada para Android. Uma vez instalado, ele simula um telefone com Android e permite acessar o Android Market para baixar qualquer aplicativo disponível. Com isso é possível provar apps sem a necessidade de instalar diretamente no dispositivo.

Veja o vídeo abaixo para entender melhor como funciona:
[youtube]http://www.youtube.com/watch?v=pXW62IbIf3A[/youtube]

Link: YouWave

Download:

Como zerar todas as regras de IPTables

Howto: Script Shel para eliminar as regras do Firewall Iptable local.

É algo útil para economizar tempo, sem a necessidade de ter que digitar cada linha na console, toda vezes que se deseja limpar as regras.

Sistema Operacional: Debian e derivados.

Dentro do diretório /scripts cremos um arquivo chamado limpa_iptables.sh com o seguinte conteúdo:

[shell]

#!/bin/sh
echo “Limpando todas as regras e liberando todo o tráfego…”
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -L -n
[/shell]

Agora é só tornar o script executável e pronto, já poderemos rapidamente dar um flush nas regras de iptable, com apenas um comando:

[shell]
root@srv:~# chmod +x /scripts/limpa_iptables.sh
root@srv:~# ./scripts/limpa_iptables.sh

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[/shell]

Howto: Máscara de CPF e CNPJ no Excel

Essa é bem velha, mas vou deixar aqui para eu não esquecer mesmo.

Para você conseguir personalizar a formatação do CNPJ ou CPF você utilizar a formatação de células com números personalizados. Esta formatação completará com zeros à equerda, isso é importante para o caso de CPF e/ou CNPJ que começam com zero, e quando você converte o valor para numérico esse zero a esquerda desaparece. Visualmente aparecerá com pontos e zeros, mas o valor da célula será o número digitado.

Ex: CPF: 555.555.555-55 -> Valor da célula será 55555555555

COMO FAZER:
1-) Clique na célula ou coluna onde deseja inserir a formatação.
2-) Selecione FORMATAR – CÉLULAS
3-) Selecione NÚMERO
4-) Selecione PERSONALIZADO
5-) Na caixa de texto “TIPO” digite:
p/ CPF: 000″.”000″.”000″-“00
p/ CNPJ: 00″.”000”.”000″/”0000″-“00

Ícones personalizados para entradas customizadas no WordPress

Uma das novidades mais legais da versão 3.0 do WordPress é a possibilidade de criar formulários de entrada de dados com campos personalizados. É uma funcionalidade que tem muito a crescer, pois com este recurso pode-se transformar o WordPress em praticamente qualquer coisa que imaginar.

Pois bem, provavelmente você esta ansioso para começar a criar suas entradas de dados personalizados, e para “floriar” um pouco, você pode conferir esta lista com nada menos de 3.000 ícones.

Caso não se lembre do procedimento para utilizar ícones para seus formulários personalizados, aqui tem o código, mais abaixo um vídeo explicativo, para que não tenha mais dúvida.
[php]
< ?php add_action( 'admin_head', 'cpt_icons' ); function cpt_icons() { ?>

< ?php } ?>
[/php]

[vimeo]http://vimeo.com/15738252[/vimeo]

DotProject: Erro ao associar arquivo anexado a uma determinada tarefa

Este erro ocorre na versão 2.1.5.

Quando se tenta fazer o upload de um determinado arquivo e deseja associar o arquivo a uma tarefa, na janela que se abre para que seja possível selecionar a tarefa é exibida a mensagem de erro: “Incorrect parameters passed

É simples de resolver,

edite o arquivo modules/files/addedit.php, indo até a linha 139 (onde consta a instruções de window.open) e adicione um “&” entre os termos:

dialog=1 e callback=setTask

Ficando assim:
[shell]
window.open(‘?m=public&a=selector&dialog=1&callback=setTask&table=tasks&task_project=’
+ f.file_project.options[f.file_project.selectedIndex].value, ‘task’,’left=50,top=50,height=250,width=400,resizable’)
[/shell]

Feito isso, faça um logout na aplicação, e de um restart no apache e pronto, já poderá associar uma tarefa ao arquivo anexado.

Evu.li – Baixe a lista de convidados do evento que você organizou no Facebook

Hoje em dia, muitas pessoas utilizam o Facebook para organizar seus evento, e para tais pessoas, com certeza esta ferramenta é de grande utilidade.

É o Evu.li, uma simples e útil aplicação online que permite baixar diretamente em seu computador uma lista em excel com todos os inscritos em seu evento pelo Facebook.

O funcionamento é super fácil, basta dar permissão a Evu.li para que se conecte em seu Facebook e então basta selecionar o evento e baixar o arquivo.

Devido a uma limitacão da API do Facebook só é possível extrair 1000 registros, o que pra grande maioria dos casos é mais do que o suficiente.

Link: Evu.li
Vía: 140Geek

Howto: DotProject com problemas para enviar emails

Na Gestão de Projetos de TI,  se  torna necessário o uso de uma  ferramenta que acompanhe, auxilie e trabalhe o dia-a-dia do Gerenciamento de Projetos. O DotProject é um Software Livre
voltado  para  gerência  de  projetos,  e  muito  utilizado  em  TI.  Com  o  dotproject  é  possível controlar  todos  os momentos  do  gerenciamento  de  um  projeto,  incluindo  custos,  prazos  e stakeholders envolvidos no projeto. Provavelmente você já o conhece.

É muitas vezes instalados dentro de uma Intranet e  não é difícil encontramos reclamações de envio de email pela aplicação.

Pelo Dot é possível configurar a forma de envio das mensagens pelo Menu Admin. do Sistema » Preferências » Configuração do Sistema, sendo possível utilizar um servidor externo de SMTP ou pelo próprio PHP através do sendmail.

Para usar o sendmail basta configurar da seguinte maneira:

  • Transporte de Email: Padrão PHP
  • Servidor SMTP: /usr/sbin/sendmail
  • Porta: 25

E só.

Ai que vem o problema, os emails enviados pelo Dot utilizando esta configuração possui a seguinte linha no cabeçalho: Received: (from apache@localhost), com isso muitos provedores (não são todos) realizam a checagem do cabeçalho e simplesmente rejeitam as mensagens, Gmail por exemplo aceita já o Google APPs que é o serviço do Google para servidores de email a domínios particulares não aceita.

Certo, ai talvez você seja cliente do Google APPS assim com eu e resolva utilizá-lo como seu servidor de SMTP externo:

  • Transporte de Email: SMTP
  • Servidor SMTP: smtp.gmail.com
  • Porta: 465
  • Servidor Requer Autenticação
  • Usuário SMTP: usuario@seudominio.com
  • Senha do SMTP: sua senha
  • Habilitar TLS para SMTP

Provavelmente isso não vai funcionar, e vai retornar como erro: Failed to send email: 503 5.5.1…

Solução 1:

Trocar o Sendmail pelo Postfix. Se estiver usando CentOS (Red Hat, Fedora…) é só fazer assim:

# yum install postfix system-switch-mail

# system-switch-mail

Vai ser exibido uma tela para que você faça a alteração de agente de Transporte de E-Mail (MTA), sendmail e postfix. Escolha postfix e confirme.

Agora você edite o arquivo php.ini que fica em:

# vi /etc/php.ini

localize a linha:
sendmail_path = /usr/sbin/sendmail -t -i

altere para:
sendmail_path = /usr/sbin/sendmail.postfix -t -i

Reinicie o posfix

# /etc/init.d/postfix restart

Volte ao DotProject e vá até as configurações de SMTP (Menu Admin. do Sistema » Preferências » Configuração do Sistema).

Se estiver usando Ubuntu (Debian e derivados)

# sudo apt-get install postfix

Durante irá perguntar o tipo de servidor, você responde: “internet site”

Edite para ficar assim:

  • Transporte de Email: SMTP
  • Servidor ssl://smtp.gmail.com
  • Porta: 465
  • Servidor Requer Autenticação
  • Usuário SMTP: usuario@seudominio.com
  • Senha do SMTP: sua senha
  • Desmaque o TLS

Pronto com isso já deve funcionar.

Solução 2

Alterando alguns arquivos de configuração apenas:

Primeiro para corrigir o erro: Failed to login to SMTP server: 502 5.5.1
http://www.dotproject.net/vbulletin/showthread.php?t=5359&page=2

Depois este segundo passo:
http://www.dotproject.net/vbulletin/archive/index.php?t-5301.html

Referências

http://wiki.centos.org/HowTos/postfix
http://www.linuxmail.info/postfix-smtp-server-howto-centos-5/
http://drupal.org/node/321857
http://serverfault.com/questions/108047/ubuntu-mail-server-switch-to-postfix-from-sendmail

Exibir todas as imagens de uma pasta utilizando PHP

Com este pequeno script é possível exibir todas as imagens de uma determinada pasta. Adicionei uma tabela para ter uma visão de impressão.

[php]
< ?php //Sua pasta $files = glob("imagens/*.*"); $colCnt=0; echo '

‘;

for ($i=1; $i‘;
echo ‘

‘;

if ($colCnt==4)
{
echo ”;
$colCnt=0;
}
}

echo ”;
?>
[/php]

‘;

$num = $files[$i];
echo ‘ ‘;
print substr(substr($num,6,100),0,-4);

echo ‘