marcosfj1 0 Denunciar post Postado Março 4, 2011 Bom galera como já faz um tempo eu estou tentando corrigir erros de segurança apontados pelo site blindado, bom em um deles dos varios q nao consegui corrigir hehe....eu pedi mais informaçoes entao o suporte me mando um teste para que eu pudesse ver o erro como ele acontecia. Bem tudo mostra q é pela URL, eu nao sei como corrigir este erro ai queria saber se alguem já viu este erro e sabe me dar uma orientacao de como proceder Warning: include(\'.php) [function.include]: failed to open stream: Arquivo ou diretório não encontrado in /caminho/teste/index.php on line 114 Warning: include(\'.php) [function.include]: failed to open stream: Arquivo ou diretório não encontrado in /caminho/teste/index.php on line 114 Warning: include() [function.include]: Failed opening '\'.php' for inclusion (include_path='.:/usr/share/pear') in /caminho//teste/index.php on line 114 Este erro foi gerado qdo digitei na URL: www.meu site.com.br/teste/?l='&categoria=' Falam desse diretorio mas eu nao tenho este diretorio em meus arquivos....alguem poderia me ajudar? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 o arquivo não foi encontrado ue .. você abre as paginas passando o nome delas pro GET ? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 faça uma verificação com is_file() antes de tentar incluir um arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 o arquivo não foi encontrado ue .. você abre as paginas passando o nome delas pro GET ? Hehehe sim nao foi encontrado Entao os parametros eu pego por GET sim. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 e isso e injection ? :huh: acho que não tem nada haver não você tem que verificar se o arquivo existe pra ai sim incluir .. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 e isso e injection ? :huh: acho que não tem nada haver não você tem que verificar se o arquivo existe pra ai sim incluir .. ^_^ Entao isso é considerado injection por eles sim...e nao existe arquivo categoria no meu site...existe uma pagina de produto que ela mostra os produto, faz a busca e tal, ai eu acredito q pela aquela entrada na URL causa um erro na pagina de produto, q é aquele erro q mostrei falou Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 Não vai causar erro se você tratar .. faz anti injection antes de chegar nas querys e verifique se o arquivo existe !!! antes de chegar no include Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 A solução está no post #3 se tiver dúvidas, poste esse trecho do teu código. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 Bom fui atras de ver onde os GETs nao foram tratados, seguindo o erro...ai fui ver algum GET que esteja ligado a categoria já q este foi o teste, assim se eu corrigir ele depois fica facil os outros Entao eu encontrei o lugar onde este GET['categoria'] é jogado na busca....mas pelo q eu vi existe o tratamento, será que precisa fazer mais alguma tratamento? $_GET['categoria'] = addslashes(strip_tags($_GET['categoria'])); $_GET['marca'] = addslashes(strip_tags($_GET['marca'])); // echo '<div class="marca_bloco">'; // $sql = "SELECT TODA A CONSULTA WHERE PC.id_produto_categoria = {$_GET['categoria']}"; $req2 = mysql_query($sql); Como pode ver $_GET['categoria'] = addslashes(strip_tags($_GET['categoria'])); antes de ir pro SQL será que precisa mais alguma tratamento? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 não . assim ja reforça , esse $_GET [ categoria ] , e passado String ou Numero ? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 a fonte do problema não está aí. veja os arredores da linha: index.php on line 114, que é qndo você faz o include. No post #3 eu indiquei a solução. Até agora você está andando em círculos, olhando para o lugar errado. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 não . assim ja reforça , esse $_GET [ categoria ] , e passado String ou Numero ? Cara descobri mas nao entendi hehe...seguinte fui seguindo o erro ai vi q se encontrava numa pagina onde eu fazia o include de outra, a outra pagina tava tudo certo, mas no include eu tive q colocar um @ antes dele Era aqui q tava o erro: <td valign="top"><? @include($link.'.php') ?></td> Mas eu nao sei pra que ser este @ apenas coloquei pq segui o padrao do antigo programador aqui q colocou em uma outra parte...mas resolveu tentei causa novamente o erro e nao apareceu mais você sabe o pq deste @? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 @ , serve pra esconder o erro , o William Bruno postou uma das possiveis soluçoes acima você não viu ? Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 a fonte do problema não está aí. veja os arredores da linha: index.php on line 114, que é qndo você faz o include. No post #3 eu indiquei a solução. Até agora você está andando em círculos, olhando para o lugar errado. Cara nao estou ignorando suas resposta, mas é q elas nao consigo aplicar, você me fala pra usar uma função is_file() mas nao sabia nem onde colocar, é mto complicado pegar o codigo pronto de outro programador e conseguir arrumar, ainda mais que nao tenho mta experiencia, e você tava dando respostas curtas e grossas entao nao tinha como eu fazer...qdo o erro estava na linha 114 eu vi o include eu ia para a pagina do include e nao achava nada de erro la relacionado a SQL...tanto q postei aqui o jeito que eu tava tratando pra ver se tinha algo errado Entao se em algum momento eu dei a impressao de estar ignorando as suas respostas peço desculpas, mas foi mais pq suas respostas nao eram claras o suficiente pra mim @ , serve pra esconder o erro , o William Bruno postou uma das possiveis soluçoes acima você não viu ? Bom quanto a isso de esconder o erro nao me preocupa mto nao, na verdade o proprio site blindado no relatorio recomenda esconder erros Porem vou estudar mais um pouco sobre a funcao q o William Bruno passou pra quem sabe nao precisa mais esconder o erro e sim arrumar Valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 mas foi mais pq suas respostas nao eram claras o suficiente pra mim bastava ter avisado. veja: <? @include($link.'.php') ?></td> o correto seria: <?php if( is_file( $link.'.php' ) ) include $link.'.php'; else echo 'impossível incluir o arquivo'; ?> </td> esconder os erros, é diferente de tratá-los da forma correta. o @ é um supressor, evite usar, prefira corrigir do que apenas ignorar. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 Cara deu certo segui o que me passou da função, e ficou da mesma forma nao apareceu mais erro nem atrapalhou nada no site Só mudei a frase para vazia pra nao aparecer nada mesmo Acredito q com isso vá resolver esta questao do site blindado Agora só falta uma que tbm parece erro de diretorio olha: <br /><b>Warning</b>: file(/home/caminho/imagem/semimagem.jpg) [<a href='function.file'>function.file</a>]: failed to open stream: No such file or directory in <b>/home/caminho/imagem.php</b> on line <b>153</b><br /> <br /> <b>Warning</b>: join() [<a href='function.join'>function.join</a>]: Invalid arguments passed in <b>/home/caminho/imagem.php</b> on line <b>153</b><br /> Esta pagina imagem.php parece q o outro programador nao fez nada apenas inclui ela no projeto, ela é uma classe pronta...seguindo a linha do erro eu cai nesse codigo: if (!$image_type_arr = @getimagesize($filename)) { header('Content-type: image/png'); if(@$_GET['noerror']) { exit; } else { echo (join('', file( $site_config['document_root'].$image_error ))); exit; } } Alguma ideia do que pode ser? já ouviu falar desta classe de imagem? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 é o mesmo erro. Não tá achando o arquivo. troque: $site_config['document_root'] por um caminho absoluto que realmente chegue onde precisa. se no caso, você não quer mostrar nada, era so retirar o else: <?php if( is_file( $link.'.php' ) ) include $link.'.php'; ?> </td> Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 A cara entao acho q este ai vai continuar dando erro, pq no caso a raiz do meu FPT é o public_html, ai ao entrar la tem uma pagina inicial falando q em breve terá uma nova loja e tal....ai dentro tem uma pagina teste q ai sim tem todos os arquivos do site, entao no caso eu nao posso mudar pois o site ainda esta em fase de testes, este erro é provavel q sai sozinho qdo jogar os arquivos na raiz mesmo do FTP Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 4, 2011 Então o melhor, era que esse caminho fosse dinamico. veja: http://forum.imasters.com.br/topic/353635-classe-mysqli-mais-uma/ no init.php do Fabyo, tem uma constante: 'BASE_PATH', que resolve essa situação. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Março 4, 2011 Valeu vou dar uma olhada pra ver como mudar isso Qto a este topico acho q pode ser fechado, já resolveu aqui Valeu Compartilhar este post Link para o post Compartilhar em outros sites