Dominio Client

di il
6 risposte

Dominio Client

Salve a tutti!

"Supponiamo" di avere una pagina php su un server raggiungibile attraverso una url del tipo "www.miosito.it/pagina.ph".

Supponiamo anche che vogliamo offrire un certo servizio ad altri siti attraverso questa pagina:

In una qualsiasi pagina di uno di questi siti si può inserire una cosa del tipo:
codice:
<script type="text/javascript" src="www.miosito.it/pagina.php"></script>
Ora vogliamo che "pagina.php" produca un certo output in funzione del dominio del sito che fa la richiesta; ad esempio, se la riga
codice:
<script type="text/javascript" src="www.miosito.it/pagina.php"></script>
è stata inserita in una qualche pagina di "www.primosito.i" produrà un certo output, se è stata inserita in una qualche pagina di "www.secondoosito.i" produrà un'altro output.

La mia domanda: è possibile verificare in qualche modo il dominio della pagina che fà la richiesta (quindi in "pagina.php" capire se è stata richiamata da qualche pagina di "www.primosito.i" o da qualche pagina di "www.secondosito.i)?

In pratica credo di essere alla ricerca di una cosa che si comporti come $_SERVER['HTTP_HOST'] ma in merito al client.

Grazie!

6 Risposte

  • Re: Dominio Client

    Ciao in questi casi la cosa più funzionale è passare un parametro all'url che identifica il cliente, esempio:
    <script type="text/javascript" src="http://www.miosito.it/pagina.php?ref=3323"></script>
  • Re: Dominio Client

    Ciao!

    Grazie per la risposta!

    Mi sono dimenticato di precisare una cosa però: vorrei che se "pagina.php" fosse richiamata da una pagina di qualche altro sito (ad esempio da "www.terzosito.i") non "autorizzato" l'output non venga visualizzato.

    Con questo cosa voglio dire: se, per esempio,
    <script type="text/javascript" src="http://www.miosito.it/pagina.php?ref=3323"></script>
    fosse il codice da inserire su "www.primosito.i" vorrei che questo non funzionasse su "www.secondosito.i" e, ancor di più, su "www.terzosito.i".
  • Re: Dominio Client

    Hmm, lato server variables non credo che trovi questa informazione, cmq prova a farti stampare tutto l'array e vedi se trovi un riferimento al sito chiamante:
    <?php print_r($_SERVER); ?>
    Altrimenti ti devi inventare qualche barbatrucco con javascript.
  • Re: Dominio Client

    Banalmente avevo pensato di utilizzare "document.domain" e fare un confronto con la lista dei domini autorizzati...ma così alla fine è tutto...come dire..."in chiaro"...basta dare un'occhiata al sorgente della pagina che viene fuori e siamo punto e a capo
  • Re: Dominio Client

    La via del javascript anche se più tortuasa mi pare la soluzione più fattibile, e potresti fare una cosa del genere:
    1) nel sito cliente metti il richiamo javascript come hai gia fatto
    2) il javascript identifica il dominio del cliente e fa una richiesta a uno script php inviandogli l'informazione del cliente.
    Lo script php lo confronta con la tabella dei clienti abilitati e se esiste viene inviato l'output al chiamante, che a sua volta lo invia al browser.
    Questo tipo di chiamate puoi farle con AJAX
  • Re: Dominio Client

    Intanto grazie Toki per l'aiuto!

    Avevo pensato anch'io ad una cosa del genere.

    Il mio dubbio è però sul punto 2:

    la richiesta (e quindi anche l'info su un client autorizzato) che il javascript invia per ottenere l'output dallo script php non sarebbe così visibile a chiunque dia un'occhiata al sorgente di una pagina su un sito autorizzato?

    Se si, basterebbe quindi copiare direttamente la richiesta che il javascript fà allo scrpt php in un sito autorizzato per ottenere un output.
Devi accedere o registrarti per scrivere nel forum
6 risposte