30 março 2012

Virus que transforma documentos em atalhos [Solução]

Pessoal,
   Algumas pessoas estão passando muita raiva com uma praga que está rodando na net que infecta seu pendrive e transforma as pastas em atalhos, tornando-as inacessíveis.
   Na verdade a primeira coisa a fazer é não se desesperar nem formatar o pendrive. A solução que descrevo abaixo vai resolver seu problema (a não ser que você foi contaminado por outro virus com comportamento parecido). Então mãos à obra. Siga os passos abaixo.


  1. Abra o prompt de comando (clique em iniciar->executar-> digite cmd e dê enter)
  2. Coloque o pendrive infectado no computador. Certifique-se de saber qual a letra da unidade, abrindo o windows explorer e identificando seu pendrive (F:,G:,E:, etc...)
  3. No prompt de comando digite: attrib -h -r -s /s /d f:\*.* e dê enter.  (onde F: é a letra correspondente ao seu pendrive)
  4. Aguarde concluir.
  5. Apague os atalhos agora, digitando del  f:\*.lnk  e <enter>
  6. Apague os arquivos scr:  del f:\*.scr  e dê <enter>
  7. Pronto... abra seu pendrive agora no windows explorer e veja suas pastas de volta lá!!
Abraços e até a próxima.





28 março 2012

Corrigir Erro "Unable to load C:\Windows\System32\iprtrmgr.dll" no Windows Server 2008

Essa é para quem está enfrentando um problema após instalar a role "Routing and Remote Access" no Windows Server 2008 R2.

Após instalar a role e configurar o serviço, quando ele vai inicializar aparece um erro e ao ver no Event Viewer "Unable to load C:\Windows\System32\iprtrmgr.dll".

Para resolver isso faça o seguinte:

  • Clique em Start -> Run (executar)
  • Digite Regedit;
  • Vá até a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RemoteAccess\RouterManagers\Ipv6 e DELETE-A!!
  • Pronto... inicie o serviço e vai funcionar....


26 março 2012

Redirecionamento de Porta no Windows Server 2008 (port forwarding)


Uma dica para quem precisa redirecionar as conexões de uma porta para outra porta de outra máquina.
Funciona em WinServer 2008/R2/7 e 8

Supondo que meu cenário tenha uma máquina de frontend (186.202.1.1) publicada para a internet e uma VM Hyper-V (192.168.30.1) interna (não acessível externamente) que precise receber as conexões externas provindas da porta 5500.

Nesse caso irei redirecionar as conexões da porta 5500 da máquina 186.202.1.1 para a VM 192.168.30.1, executando o seguinte comando no prompt do DOS com permissão de administrador (run as admin):

--> netsh interface portproxy add v4tov4 listenaddress=186.202.1.1 listenport=5500 connectport=5500 connectaddress=192.168.30.1


Para visualizar todos os mapeamentos realizados:
--> netsh interface portproxy show all


Para remover o mapeamento:
--> netsh interface portproxy delete v4tov4 listenport=5500 listenaddress=186.202.1.1 protocol=tcp

07 março 2012

Verificar se a URL é válida com PHP

Essa função é muito útil para quem quer verificar se a URL existe no servidor remoto.
Basicamente ela instancia uma conexão na porta 80 e faz um GET na url, se retornar HTTP code 200 a url é válida.
Precisei dela um dia desses pois carregava fotos de produtos de um cliente em outro servidor dele, daí coloquei um diretório virtual das fotos no Apache e faço o teste para ver se a foto existe antes de escrevê-la na página.

Exemplo de carga da função


vUrlImagens = "http://177.1.1.1:81/imagens/";
$vFoto1= $vUrlImagens.'Foto1.jpg';

if (valida_url($vFoto1)) {

echo '<img src=" '.$vFoto1.' " width="174" height="197" border="1" alt="Foto1" />';
}



A função:
Copie o código abaixo, retirando os números de linha e bom proveito!!

0| <?php
 1|
 2|
 3|
 4| // função      valida_url
 5| // retorno       boolean
 6| // parametro    string
 7| // desc           Verifica se a URL é valida (HTTP-Code: 200)
 8|
 9|
10| function valida_url$link )
11| {        
12|    $partes_url = @parse_url$link );
13|
14|    if ( empty( $partes_url["host"] ) ) return( false );
15|
16|    if ( !empty( $partes_url["path"] ) )
17|    {
18|        $path_documento $partes_url["path"];
19|    }
20|    else
21|    {
22|        $path_documento "/";
23|    }
24|
25|    if ( !empty( $partes_url["query"] ) )
26|    {
27|        $path_documento .= "?" $partes_url["query"];
28|    }
29|
30|    $host $partes_url["host"];
31|    $porta $partes_url["port"];
32|    // faz um (HTTP-)GET $path_documento em $host";
33|
34|
35|    if (empty( $porta ) ) $porta "80";
36|    $socket = @fsockopen$host$porta$errno$errstr30 );
37|    if (!$socket)
38|    {
39|        return(false);
40|    }
41|    else
42|    {
43|        fwrite ($socket"HEAD ".$path_documento." HTTP/1.0\r\nHost: $host\r\n\r\n");
44|        $http_response fgets$socket22 );
45|
46|        $pos null;       
47|        $pos strpos($http_response"200 OK");
48|        if ( !empty($pos) )
49|        {
50|            fclose$socket );       
51|            return(true);
52|        } 
53|        else
54|        {
55|            //echo "HTTP-Response: $http_response<br>";
56|            return(false);
57|        }
58|    }
59| }
60| ?>

Pingar seu site de vários lugares no mundo



Essa é para quem está enfrentando problemas de indisponibilidade de serviço do seu site ou servidor ligado à web.
As vezes nem sempre o problema é no seu servidor, mas sim no servidor DNS da pessoa que está requisitando seu site/serviço.

Essa ferramenta muito útil pinga seu site em 50 endereços em diferentes partes do mundo. Vale à pena conferir.

Acesse aí: http://www.just-ping.com