Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
PHP referer - jesam li ja idiot ili sto?

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
nel`chee



Joined: 08 Jul 2004
Posts: 2087
Location: Rijeka

PostPosted: 22.11.2005 05:03    Post subject: PHP referer - jesam li ja idiot ili sto? Add user to your forum ignore list Reply with quote

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 portfoliofree Photoshop brushes stuffsketchblogfacebook
Back to top
View user's profile Send private message Visit poster's website Twitter profile
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 22.11.2005 05:27    Post subject: Re: PHP referer - jesam li ja idiot ili sto? Add user to your forum ignore list Reply with quote

nel`chee wrote:

ok, odi spavat Smile

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
View user's profile Send private message Visit poster's website
lekke



Joined: 17 Jun 2004
Posts: 860
Location: 25th floor

PostPosted: 22.11.2005 08:35    Post subject: Add user to your forum ignore list Reply with quote

Nisam nikad koristio tu server_name predefiniranu varijablu, no ako ista znam to je da predefinirane varijable pocinju sa $_ Smile
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? Smile) 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
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 22.11.2005 10:15    Post subject: Add user to your forum ignore list Reply with quote

@lekke: ako radis konkatenaciju stringova....nema nikakvog smisla koristiti dvostruke navodnike.

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 22.11.2005 10:24    Post subject: Add user to your forum ignore list Reply with quote

@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 Smile

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
View user's profile Send private message
lekke



Joined: 17 Jun 2004
Posts: 860
Location: 25th floor

PostPosted: 22.11.2005 11:55    Post subject: Add user to your forum ignore list Reply with quote

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 Smile

_________________
You need more bass.
Back to top
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 22.11.2005 12:01    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
lekke



Joined: 17 Jun 2004
Posts: 860
Location: 25th floor

PostPosted: 22.11.2005 12:14    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 22.11.2005 14:44    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
nel`chee



Joined: 08 Jul 2004
Posts: 2087
Location: Rijeka

PostPosted: 22.11.2005 15:04    Post subject: Add user to your forum ignore list Reply with quote

@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? Confused

@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 Laughing

@retro_one: saves the day! Very Happy ma stalno sam ukljucivala/iskljucivala errore jer sam "pametno" isla testirat na pravom site-u (nije mi se dalo raditi test stranice Rolling Eyes)
anyway, radi ko urica.

_________________
art & design portfoliofree Photoshop brushes stuffsketchblogfacebook
Back to top
View user's profile Send private message Visit poster's website Twitter profile
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 22.11.2005 23:24    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Visit poster's website
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 23.11.2005 00:25    Post subject: Add user to your forum ignore list Reply with quote

@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
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 23.11.2005 10:35    Post subject: Add user to your forum ignore list Reply with quote

@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 Smile.

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 23.11.2005 15:46    Post subject: Add user to your forum ignore list Reply with quote

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 Smile.

naravno, radim isto kao i to, samo me zanima el to ima neko uporiste..

_________________
Bolje biti malo lud, nego malo pametan.
Back to top
View user's profile Send private message Visit poster's website
nel`chee



Joined: 08 Jul 2004
Posts: 2087
Location: Rijeka

PostPosted: 24.11.2005 00:53    Post subject: Add user to your forum ignore list Reply with quote

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!

Embarassed

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 Wink i'm not really that stupid Confused

_________________
art & design portfoliofree Photoshop brushes stuffsketchblogfacebook
Back to top
View user's profile Send private message Visit poster's website Twitter profile
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group