.htaccess: bloqueio de proxy

1

então tem esse cara fazendo spam no fórum do phpBB2 desde que ele foi banido. Ele continua voltando com proxies, e eu gostaria de bloqueá-los usando o meu htaccess. Meu fórum está localizado no link Eu coloquei um arquivo .htaccess em / forum /, que contém o seguinte, como encontrado em algum lugar no net:

RewriteEngine on
RewriteCond %{HTTP:VIA}                 !^$ [OR]
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
RewriteRule ^(.*)$ - [F]

Eu ouvi que isso é bem preciso. Então, tentei, e o proxy da Web não conseguiu acessar a página. Mas funcionou como 5 minutos, e agora não está bloqueando nada ... Eu tentei proxies diferentes, baseados na web ou não, e nada foi bloqueado ... Eu estou querendo saber se eu fiz alguma coisa errada, o htaccess parece correto para mim!

Se vocês tiverem uma ideia, isso seria fantástico. Eu sempre encontro minhas respostas no Stackoverflow, então eu pensei que deveria perguntar aqui: P

Felicidades

    
por pko 12.05.2012 / 18:24

2 respostas

2

Espero que você entenda que, se você fizer com que suas regras de bloqueio de proxy funcionem, isso proibirá não apenas o spammer, mas todos os usuários que usam proxies.

Você pode tentar registrar o cabeçalho X-Forwarded-For (por exemplo, se você estiver usando o apache, adicione "% {X-Forwarded-For} i" ao formato de log). Isso deve lhe dar ips de visitantes reais no log de acesso, a menos que o spammer esteja usando proxies anônimos. Em seguida, coincidir com o timestamp de seu post contra o log de acesso http (use alguns segundos janela de tempo) e você deve obter o seu ip real. Pode funcionar apenas.

se o spammer estiver usando proxies anon, talvez seja necessário moderar suas postagens. Você deveria fazer isso de qualquer maneira. Aceitar automaticamente postagens de usuários conhecidos e moderar as postagens de usuários novos / não confiáveis. Eu não sei phpbb mas provavelmente suporta moderação.

EDITAR __

Se você realmente quer bloquear proxies (ruins), tente usar o mod_spamhaus , ele deve bloquear os ips reportados por spamming e proxies abertos. Consulte o site do spamhaus para ter uma ideia de quais ips estão sendo relatados. Eu não consigo pensar em nenhuma regra mod_rewrite que poderia bloquear proxies anônimos (eu continuo pensando sobre isso)

    
por 12.05.2012 / 18:50
0

3 coisas que faço para o site do meu trabalho que ajudam a eliminar 99,9% de todos os spams do formulário de contato:

1) meça o tempo decorrido desde o carregamento do formulário de contato até o momento em que ele foi enviado. Se alguém enviar o formulário dentro de < 10 segundos, ele deverá ser um computador, pois não há como um humano responder a todas as perguntas necessárias nesse período, mesmo com um plug-in de preenchimento de endereço. Você pode considerar uma tática semelhante para impedir que os scripts sejam publicados rapidamente.

2) Se a mensagem de contato contiver vários URLs suspeitos, marque como spam. Evitar vários links de URL pode não ser aceitável para uma situação de boletim informativo, mas se você puder identificar qualquer padrão de URL exclusivo específico nas postagens de spam, talvez seja possível filtrar essas postagens.

3) temos um falso campo de endereço de e-mail oculto que os usuários humanos nunca verão, então se o formulário for enviado com o campo oculto tendo um valor, sabemos que ele não era humano ... pode ser que você poderia fazer algo semelhante com um caixa de comentários falsos?

Eles podem não funcionar para você, já que seriam implementados no nível do PHP e não no apache, e são realmente eficazes contra scripts automatizados, mas espero que pelo menos lhe dêem algumas ideias para lidar com seu problema de spam

    
por 13.05.2012 / 10:21