[ iizuzetan @ 26.11.2008. 03:28 ] @
Imam dva nezavisna sajta na dva razlicita hostinga. Jedan podrzava PHP5 a drugi uopste ne podrzava PHP. E sad posto jedan podrzava PHP na njemu radim sajt sa formama ali imam problem oko zastite. Promenjljiva $_SERVER['HTTP_REFERER'] mi daje prazan string za rezultat a ne domen sa koga je otvorena satranica. Moje prvo pitanje bi bilo da li je to kod svih servera tako, odnosno da li $_SERVER['HTTP_REFERER'] daje jedino rezultat kad se strana "INLINE FRAME-muje" (ne znam kako se to strucno kaze ali nadam se da me razumete)?? Ovo pitam jer kad "INLINE FRAME-mujem" tu moju stranicu sa formom na onom sajtu bez PHP-a onda mi u internet pregledniku promenjljiva $_SERVER['HTTP_REFERER'] da naziv domena tog sajta. Sve to mi je mnogo cudno kako onda ta promenjljiva radi uopste kad na prvom gde imam PHP nece, a tamo je i hostovana skripta, a na ovom drugom hoce a na njemu i nemam PHP???????? Na kraju krajeva jedino mi je bitno da li je sve to ok i da li tako treba jer ja sam pratio tu logiku i napravio sam programcic? Medjutim ukoliko to nije svuda tako onda moja rukotvorina pada vodu. To jest ako postoje jos neki serveri kod kojih nece raditi $_SERVER['HTTP_REFERER'], odnosno koji ce dati prazan string, onda ce i tamo kad se moja forma "INLINE FRAME-muje" raditi, odnosno mocice da se spamuje ako im je to cilj. Evo sad cu dati COD te moje male zastite da doprinesem malo vise razumevanju svega prethodnog posto sam sve to napisao nestrucno.

Code:

<?
$domen='ne';
if(stristr($_SERVER['HTTP_REFERER'],'zaljubi.com')){
    $domen='da';
}
if($_SERVER['HTTP_REFERER']==""){
    $domen='da';
}
echo $domen;
?>


[Ovu poruku je menjao iizuzetan dana 26.11.2008. u 16:37 GMT+1]
[ VladaSu @ 06.12.2008. 16:47 ] @
Bez obzira sta ti pise u browseru gore u url-u ono sto je u iframu je nezavisno. Kao da si tu formu otvorio u novom prozoru.
Pa sada ako otovoris google u jednom prozoru a yahoo u drugom onda to nema nikakve veze sa vezom.
Znaci imas sajt koji se zove SAJT_1 i njemu u IFRAME-u ti otovoris SAJT_2 koji je forma.
Pazi, adresa te stranice je SAJT_2, ne SAJT_1. I sada kada submitujes formu normalno da to ide sa SAJTA_2 iako gore pise da je SAJT_1;
ne znam da li sam dobor objansio ili nisam cak ni skontao pitanje

Najbolje je da kada za pravog sajta pozivas formu onda pozivas bez nekog parametra a kada pozivas iz iframe onda stavis jedan parametar u url da znas da je u ifamu i onda u samu tu formu stavis neki hidden.

Recimo da zaljubi.com ima php a nesto.com nema php.
Stranica sa formom ti se zova forma.php
na zaljubi.com pozivaj samo fajl forma.php a iz iframe pozivaj zaljubi.com/forma.php?iframe=true

u forma.php proveravaj da li ima parametar iframe i da li je true, ako jeste u formu dodaj jedno hidden polje name=iframe value=true;
I kada se submituje forma opet proveri taj parametar i znaces odakle je.

Ili mozda je cak bolje da napravis 2 slicna fajla za razlicitim imenima. Jedan pozivaj sa jednog domena a drugi sa drugog.
Zajednicke stvri includuj.
Ili mozda RewriteUrl - 2 imena za isti fajl pa znas koji je odakle