View previous topic :: View next topic |
Author |
Message |
nel`chee
Joined: 08 Jul 2004 Posts: 2087 Location: Rijeka
|
Posted: 22.11.2005 05:03 Post subject: PHP referer - jesam li ja idiot ili sto? |
|
|
pokusala sam bezbroj varijanti, ni ne sjecam ih se svih, imala sam i provjeru je li url vec u file-u, uglavnom nista se ne zapise u file. da, CHMOD je na 666. da, file se nalazi bas u tom folderu. ovo je zadnji pokusaj koji je rezultirao time da se stranica uopce ne prikaze:
Code: | <?php
$mydomain = "http://$SERVER_NAME";
$referer = $_SERVER['HTTP_REFERER'];
if((isset($referer)) {
if(!eregi("$mydomain", $referer)) {
$file = fopen('counter/ref.db', 'ab');
$line = "$referer\n";
fwrite($file, $line, strlen($line));
fclose($file);
}
}
?> |
alzo, zelim da mi se referer zapise u txt file ako postoji i ako nije moja domena.
imam fancy statistike u cpanel-u, ali ovako mi je kratkorocno lakse pratit.
ako vam se da jos par redova napisat da provjeri je li URL vec u fileu pa zapise samo ako nije, feel free... inace istu shemu koristim sa counterom bez problema i ne kuzim sto sad nije valjalo. |
_________________ ♥ art & design portfolio ♥ free Photoshop brushes stuff ♥ sketchblog ♥ facebook ♥ |
|
Back to top |
|
|
carr
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
|
Posted: 22.11.2005 05:27 Post subject: Re: PHP referer - jesam li ja idiot ili sto? |
|
|
ok, odi spavat
daj pobacaj malo debagiranja po fajlu kao ovdje pa vidi da li uopce imas sve varijable.
Code: | <?php
$mydomain = "http://$SERVER_NAME";
$referer = $_SERVER['HTTP_REFERER'];
echo $mydomain . " " . $referer . "<br>";
if((isset($referer)) {
echo "wohoo! iamo referera!<br>";
if(!eregi("$mydomain", $referer)) {
echo "wohoo! prosao sam regexp!<br>";
$file = fopen('counter/ref.db', 'ab');
if(isset($file))
echo 'a i fajl je tu<br>';
$line = "$referer\n";
fwrite($file, $line, strlen($line));
fclose($file);
}
}
?> |
btw. zasto ti treba binary? |
_________________ Bolje biti malo lud, nego malo pametan. |
|
Back to top |
|
|
lekke
Joined: 17 Jun 2004 Posts: 860 Location: 25th floor
|
Posted: 22.11.2005 08:35 Post subject: |
|
|
Nisam nikad koristio tu server_name predefiniranu varijablu, no ako ista znam to je da predefinirane varijable pocinju sa $_
A i nekak mi se cini da ona pripada $_SERVER polju, mozda $_SERVER['SERVER_NAME']
e... i pogledaj liniju if(!eregi("$mydomain", $referer)) ... kakva je ovo upotreba navodnika? Po nacinu na koji programiras savjetovao bih ti da $varijable ne koristis unutar navodnika (da ti nisu mozda ostale stare navike iz Velocityja? ) nego da stringove zbrajas po propisima. Npr $mydomain="http://".$_SERVER['server_name']."/blabla/";
Uglavnom, slusaj Carra - debugiraj pa vidi. |
_________________ You need more bass. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 22.11.2005 10:15 Post subject: |
|
|
@lekke: ako radis konkatenaciju stringova....nema nikakvog smisla koristiti dvostruke navodnike. |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 22.11.2005 10:24 Post subject: |
|
|
@nelchee: opet se igramo sa isljucenim error reportingom? Imas gresku u if-u...nejde ti dvostruka zagrada ispred isset...evo ovo ispod je testirana verzija...
edit: $SERVER_NAME ce ti raditi samo ako ti je ukljucen register_globals
edit 2:isset ti u ovome slucaju uvijek vraca true. Zato postoji empty
Code: | $mydomain = 'http://'.$_SERVER['SERVER_NAME'];
$referer = $_SERVER['HTTP_REFERER'];
if(!empty($referer))
{
if(!eregi($mydomain, $referer))
{
$file = fopen('temp/test.txt', 'ab');
$line = "$referer\n";
fwrite($file, $line, strlen($line));
fclose($file);
}
} |
|
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
lekke
Joined: 17 Jun 2004 Posts: 860 Location: 25th floor
|
Posted: 22.11.2005 11:55 Post subject: |
|
|
retro_one wrote: | @lekke: ako radis konkatenaciju stringova....nema nikakvog smisla koristiti dvostruke navodnike. |
Daj objasni ovo malo, ne znam što točno misliš pod tim. Ja sam pod dojmom da je svejedno jel koristim duple ili single navodnike, pa onda koristim uvijek duple (navika) tako da ne moram escapeat apostrofe kad tipkam engleski |
_________________ You need more bass. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 22.11.2005 12:01 Post subject: |
|
|
kad koristis duple navodnike php parsa string unutar njega i trazi varijable koje zamjenjuje s njihovom vrijednosti. znači:
$a = 'Ja sam varijabla A';
$text = "U varijabli a pise: $a";
echo $text; // Ispisuje: U varijabli a pise: Ja sam varijabla A
$text = 'Ako napisem ovako onda no go, $a';
echo $text; // Ispisuje: Ako napisem ovako onda no go, $a
Uglavnom kad koristis jednostruke navodnike, uz to sto je parsing vrijeme brze, ne moras escapeati special charactere |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
lekke
Joined: 17 Jun 2004 Posts: 860 Location: 25th floor
|
Posted: 22.11.2005 12:14 Post subject: |
|
|
retro_one wrote: | kad koristis duple navodnike php parsa string unutar njega i trazi varijable koje zamjenjuje s njihovom vrijednosti. znači:
$a = 'Ja sam varijabla A';
$text = "U varijabli a pise: $a";
echo $text; // Ispisuje: U varijabli a pise: Ja sam varijabla A
$text = 'Ako napisem ovako onda no go, $a';
echo $text; // Ispisuje: Ako napisem ovako onda no go, $a
Uglavnom kad koristis jednostruke navodnike, uz to sto je parsing vrijeme brze, ne moras escapeati special charactere |
Hvala za uvid. Vidjet ću mogu li to odmah počet primjenjivat. Iako su mi projekti dovoljno mali da ovo ne bi smjelo imat nikakvog impacta na performance (+ stranice mi se cacheiraju), volim imat optimiziran kod. Tnx again. |
_________________ You need more bass. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 22.11.2005 14:44 Post subject: |
|
|
lekke, ako hoćeš pisati specijalne znakove \n \r ili sl. u stringovima morat ćeš koristiti dvostruke jer se unutar jednostrukih neće pretvoriti u znak već će ostati backslash-slovo |
|
|
Back to top |
|
|
nel`chee
Joined: 08 Jul 2004 Posts: 2087 Location: Rijeka
|
Posted: 22.11.2005 15:04 Post subject: |
|
|
@carr: binary? navika, rekla bih. nekad davno sam cula/procitala da sve ne-text fileove treba zapisivati kao binary.. shvacam da je ovo obicni text file, ali ja ga kao takvog necu citati.
ovo zvuci malo glupo jelda?
@lekke: yeah, to inace radim ali htjela sam skratit postupak, btw ova linija je copy-paste-ana od nekud, nisam ni provjeravala nista jer sam vec bila na rubu
@retro_one: saves the day! ma stalno sam ukljucivala/iskljucivala errore jer sam "pametno" isla testirat na pravom site-u (nije mi se dalo raditi test stranice )
anyway, radi ko urica. |
_________________ ♥ art & design portfolio ♥ free Photoshop brushes stuff ♥ sketchblog ♥ facebook ♥ |
|
Back to top |
|
|
carr
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
|
Posted: 22.11.2005 23:24 Post subject: |
|
|
retro_one wrote: | Uglavnom kad koristis jednostruke navodnike, uz to sto je parsing vrijeme brze |
gledao sam neke testove brzine na netu, i rezultati su bili tu negdje s jednostrukim i dvostrukim navodnicima.
recimo drasticna razlika je (ako me sjecanje sluzi) bila kod koristenja foreacha... |
_________________ Bolje biti malo lud, nego malo pametan. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 23.11.2005 00:25 Post subject: |
|
|
@nelchee: to zvuči jako glupo. ASCII i binary zapis je potpuno drugačiji raspored nula i jedinica - txt fajlove uvijek treba čitati kao tekst
Quote: | da, CHMOD je na 666 |
opa, sad znamo još jednu mračnu tajnu o tebi... ni na filesystemu se ne možeš okanit okultizma! sramota!
BTW kroz neko vrijeme će se txt file poprilično napunit - i što onda? U najmanju ruku bit će ga mučno pregledavat. Zašto ipak ne koristiš fancy statistike u cpanelu? |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 23.11.2005 10:35 Post subject: |
|
|
@carr: sto se toga tice...nalazio sam poprilično oprečne rezultate...ali posto su jednostruki navodnici good programming practice....onda cu ih i koristiti just to be on the safe side . |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
carr
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
|
Posted: 23.11.2005 15:46 Post subject: |
|
|
retro_one wrote: | @carr: sto se toga tice...nalazio sam poprilično oprečne rezultate...ali posto su jednostruki navodnici good programming practice....onda cu ih i koristiti just to be on the safe side . |
naravno, radim isto kao i to, samo me zanima el to ima neko uporiste.. |
_________________ Bolje biti malo lud, nego malo pametan. |
|
Back to top |
|
|
nel`chee
Joined: 08 Jul 2004 Posts: 2087 Location: Rijeka
|
Posted: 24.11.2005 00:53 Post subject: |
|
|
Sulien wrote: | @nelchee: to zvuči jako glupo. ASCII i binary zapis je potpuno drugačiji raspored nula i jedinica - txt fajlove uvijek treba čitati kao tekst |
hm, mk.
Quote: | Quote: | da, CHMOD je na 666 |
opa, sad znamo još jednu mračnu tajnu o tebi... ni na filesystemu se ne možeš okanit okultizma! sramota! |
Quote: | BTW kroz neko vrijeme će se txt file poprilično napunit - i što onda? U najmanju ruku bit će ga mučno pregledavat. Zašto ipak ne koristiš fancy statistike u cpanelu? |
koristim ih, ali one prikazuju referere za cijeli mjesec, a ne po danima. zelim vidjet na brzinu "nove" referere kad se pojave.
btw, svaki put kad pogledam listu (jednom dnevno otprilike) rewriteam file i'm not really that stupid |
_________________ ♥ art & design portfolio ♥ free Photoshop brushes stuff ♥ sketchblog ♥ facebook ♥ |
|
Back to top |
|
|
|