Jump to content


Photo

Existe Equivalente Ao Str_replace Em Cgi?


  • Faça o login para participar
5 replies to this topic

#1 Limiar

Limiar

    Que alerta é esse aí embaixo?

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Alto Paraíso -- GO
  • Interesses:música, belezas naturais, esperanto, fotografia, informática, webdesign, photoshop, dreamweaver, CGI, PHP

Posted 28/04/2005, 13:53

Olá amigos do CGI,

Fiz um script em PHP que usa a função str_replace, com o objetivo de substituir espaços (no nome do arquivo) por sublinhados.

Ocorre que o Apache só aceita CGI... E eu agora preciso de um substituto para essas linhas em PHP:

$endereco = $_SERVER["HTTP_REFERER"];
$endereco = str_replace("%20", "_", $endereco);


Agradeço desde já!

Edição feita por: Paulo Ricardo, 10/08/2007, 21:20.


#2 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 28/04/2005, 14:40

claro

$endereco =~ s/%20/_/g;

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#3 Limiar

Limiar

    Que alerta é esse aí embaixo?

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Alto Paraíso -- GO
  • Interesses:música, belezas naturais, esperanto, fotografia, informática, webdesign, photoshop, dreamweaver, CGI, PHP

Posted 29/04/2005, 07:46

Beleza!

#!/usr/bin/perl
$endereco = $_SERVER["HTTP_REFERER"];
$endereco =~ s/%20/_/g;


Agora eu preciso re-submeter esse REFERER corrigido, ou seja, reenviar sem alterar o remetente original. E possivel?

Edição feita por: Paulo Ricardo, 10/08/2007, 21:20.


#4 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 29/04/2005, 07:51

nao entendi... tenta explicar melhor.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#5 Limiar

Limiar

    Que alerta é esse aí embaixo?

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Alto Paraíso -- GO
  • Interesses:música, belezas naturais, esperanto, fotografia, informática, webdesign, photoshop, dreamweaver, CGI, PHP

Posted 29/04/2005, 08:36

E um pouco longo, mas vou apresentar o contexto:

Ao fazer minha primeira página, inexperiente, eu usei nomes de arquivos e diretórios com espaços, como estava acostumado no Windows.

Mais tarde, quando percebi o erro, tratei de renomear tudo, trocando espaços por sublinhados. Mas o estrago já estava feito. Meu site estava todo indexado nos sites de busca com aqueles endereços com espaços. Em vista do fato consumado, optei por conservar ambos os arquivos, os com espaços e os com sublinhados.

Quando refiz todo o site para usar includes PHP, usei o .htaccess para redirecionar os arquivos .htm para .php. Mas não pude redirecionar diretórios nem arquivos com nomes contendo espaços, porque dá erro (500, se me lembro bem).

Na época, o único meio que encontrei foi usar o .htaccess para redirecionar o erro 404 para uma página de busca interna. Mas o problema apenas tornou-se outro. Com esse redirecionamento, eu perdi o log de erros e assim a possibilidade de corrigi-los, Além disso, o acesso a essa página de busca interna tornou-se imenso, de acordo com o Awstats. Está sempre em primeiro ou segundo lugar entre as páginas mais visitadas do site. Por isso, eu continuo a buscar alguma outra solução.

Como o Apache tem rotinas para o encaminhamento de cada página, inclusive para pequenas correções no REFERER, ali seria o lugar ideal para encontrar uma solução, já que é o Apache que encaminha o pedido de página inexistente para o 404.

A tentativa do momento é usar um script CGI para corrigir o REFERER e re-submeter a página. Este script aqui vai ser acionado pelo httpd.conf => (ErrorDocument 404 /cgi-bin/missing_handler.pl).

Por isso pergunta agora é: como re-submeter esse REFERER corrigido?

Edição feita por: Paulo Ricardo, 10/08/2007, 21:20.


#6 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 29/04/2005, 15:48

acho q você quer isso:

$ENV{HTTP_REFERER}^

é isso?
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq