Jump to content


Photo

Pegar Requisição Ver Se Veio Local Ou Externa


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

#1 id4689

id4689

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 16/11/2011, 08:40

bom dia,

estou tentando faser algo que já não sei se é possivel, oque queria de fato era determinar a execução de um arquivo somente se este arquivo vier e ser chamado por outro arquivo, caso não contrário acesso restrito... pensando nisso eu tentei criar uma sessão...
e mesmo assim acredite não funciona, agora porque não funciona eu sinceramente nao sei


fiz assim, criei a session no arquivo1.php

<?php
session_start();
$_SESSION['url'] =  "teste";

$get = file_get_contents("http://localhost/arquivo2");
echo $get;
?>

e no arquivo2.php assim

<?php
session_start();
if($_SESSION['url'] == "teste") {
echo "exibe essa escrita";
}

unset($_SESSION['url']); 
// destroy

?>

ao entrar no arquivo1 o get file não funciona. nao sei porque mais a session é como se não existe pro arquivo2 puxado pelo file_get_contents.
não é muito bem isso que eu queria mais já ajudava mesmo assim não funciona, sendo assim não sei oque faser, alguma idéia ?

Edição feita por: id4689, 16/11/2011, 08:45.


#2 Satoru

Satoru

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais
  • Interesses:PHP, Mysql, Javascript,Asp, HTLM, CSS e AS3

Posted 16/11/2011, 09:58

Primeiramente, notei um erro no file_get_contents, voce esqueceu de colocar ".php" no final do endereço do arquivo
//errado:
$get = file_get_contents("http://localhost/arquivo2");
//correto:
$get = file_get_contents("http://localhost/arquivo2.php");

Porém sugiro que ao invés de utilizar:
$get = file_get_contents("http://localhost/arquivo2.php");
echo $get;
utilize um redirecionamento para o arquivo que você quer:
header("Location:arquivo2.php");

Edição feita por: Satoru, 16/11/2011, 09:59.


#3 id4689

id4689

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 16/11/2011, 19:36

cara, mesmo assim não vai funcionar do jeito que eu quero, porque
é preciso pegar o conteúdo da outra pagina e não ser redirecionada até ela
acho que vou ter que simular um acesso na página via curl para ver se funciona
o if da session, só que no servidor aonde hospedo o site não tem curl ativado ae lascou :\

--------------------------------------------------------------------------------------------

mesmo a session aberta, acessando com curl mesma coisa é como se não existisse session
agora se eu acessar a página diretamente funciona... com curl, get_file_contents ou cookie não funciona pkp
a agora mano ?

<?php
session_start();
$_SESSION['url'] =  "teste";

    function get_web_page( $url )
    {
    $options = array(
    CURLOPT_RETURNTRANSFER => true,     // return web page
    CURLOPT_HEADER         => false,    // don't return headers
    CURLOPT_FOLLOWLOCATION => true,     // follow redirects
    CURLOPT_ENCODING       => "",       // handle all encodings
    CURLOPT_USERAGENT      => "spider", // who am i
    CURLOPT_AUTOREFERER    => true,     // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
    CURLOPT_TIMEOUT        => 120,      // timeout on response
    CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
    );

    $ch      = curl_init( $url );
    curl_setopt_array( $ch, $options );
    $content = curl_exec( $ch );
    $err     = curl_errno( $ch );
    $errmsg  = curl_error( $ch );
    $header  = curl_getinfo( $ch );
    curl_close( $ch );

    $header['errno']   = $err;
    $header['errmsg']  = $errmsg;
    $header['content'] = $content;
    return $header;
    }

    $result=get_web_page("http://localhost/urldepois.php");
    echo $result['content'];

?>

se tivesse como no arquivo2 verificar o acesso vindo desse script acima seria um boa...

Edição feita por: id4689, 16/11/2011, 19:36.


#4 Satoru

Satoru

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais
  • Interesses:PHP, Mysql, Javascript,Asp, HTLM, CSS e AS3

Posted 17/11/2011, 07:36

Então tente utilizar o include
//certifique-se que o arquivo está no mesmo diretório
include('urldepois.php'); 

E mais uma dica, reparei que você criou uma variável chamada "$url", e a session também chama "url". Tente não utilizar nomes de variáveis igual ao nome da session, pois em alguns servidores isto pode causar conflito!




1 user(s) are reading this topic

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

IPB Skin By Virteq