Newsgroup: it.comp.lang.perl
Titolo: Riuscire a beccare sempre il referrer

Ciao a tutti,
ultimamente mi sto incasinando su questo aspetto.
Praticamente vorrei fare diversi tipi di applicazioni richiamabili da
altre pagine web.
A funzionare funzionano, vuoi con iframe, vuoi con include, vuoi con
img src o come semplice modulo o libreria.
Il problema è che non riesco a trovare una dimensione ideale di
utilizzo...mi spiego
Vorrei beccare sempre il referrer di chi chiede la pagina, ma con i
frame per esempio, come referrer mi da la pagina che ha richiamato il
codice e non quale era la pagina di provenienza.
E come modulo e libreria funziona ma io vorrei creare script standard
le cui funzioni le utilizzo da codice html...if u know what i mean :)
Il fatto è questo
<!-- Inizio Codice Shinystat -->
<script type="text/javascript" language="JavaScript"
SRC="
http://codice.shinystat.it/cgi-bin/getcod.cgi?USER=pigmalion
"></script>
<noscript>
<A
HREF="
http://www.shinystat.it/cgi-bin/shinystatv.cgi?USER=pigmalion
"
target="_top">
<IMG
SRC="
http://www.shinystat.it/cgi-bin/shinystat.cgi?USER=pigmalion&NC=1
"
BORDER="0"></A>
</noscript>
<!-- Fine Codice Shinystat -->
Sicuramente molti lo usano e dato che in javascript non ho certezze mi
chiedevo..
Probabilmente il codice di cui sopra restituirà il referrer se
javascript è attivato, diversamente utilizzera un metodo classico in
perl che è quello di img src e non potrà sapere il referrer di
provenienza se non la pagina da cui è stato richiamato...
Torno a studiare
Ciaz
--
www.pigmalion.info
www.pigmalion.info/perl/

Tra parentesi, mo provo a riprodurlo in locale :)
--
www.pigmalion.info
www.pigmalion.info/perl/

 codice e non quale era la pagina di provenienza.
IMHO:
	Non č detto che un browser ti passi il referrer, ad esempio Opera.
	E' non č detto che un browser abbia javascript abilitato.
Saluti, Antonio Gallo - AGX per gli amici di Usenet
(o_         
http://www.antoniogallo.it/
   Sito personale
//\         
http://www.badpenguin.org/
    Progetto "Bad Penguin" (d)
V_/_        
http://www.linux.it/ILS/
      Italian Linux Society 

	E' non č detto che un browser abbia javascript abilitato.
Appunto č quello che dico, il codice di cui sopra funzionerą e passerą
il referrer fintanto che si usa javascript..
--
www.pigmalion.info
www.pigmalion.info/perl/

Credo che innanzitutto dovresti provare a postare su un NG di CGI..
Cmq, io per leggere il referer uso sempre 2 modi insieme:
$ENV{'HTTP_REFERER'} e JavaScript.
Se non me lo da l'uno me lo da l'altro, no? (nella maggior parte dei
casi...)
Ma, come dici tu, ci sono casi in cui il referer c'è ma non è quello che
vorremmo,
come quando per esempio lo script viene richiamato da un frame o da un
redirect.
A questo punto, l'unica soluzione è usare SSI:
<html>
<!--#exec cgi="/cgi-bin/
myscript.pl
"-->
</html>
Cosi' sei sicuro che il referer lo becchi... pero' anche qui ci sono i pro e
i contro:
1. non tutti i server supportano SSI
2. non tutti i server che supportano SSI ti lasciano usare il comando exec
3. l'header non lo puoi sparare (perché lo spara il browser all'apertura
della pagina shtml, poi se ci sono altri modi....)
4. io odio SSI !! :->  (non mi veniva più niente in mente... )
Il pro è che puoi usare SSI come se fosse ASP, cioè fai i template in HTML
puro e, laddove vuoi contenuti dinamici,
crei uno script x ogni cosa.
Ci sarebbe altro... ma ora ho la mente offuscata.....
::guido::

::guido::
Peppe
--
www.pigmalion.info
www.pigmalion.info/perl/