Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Web razvoj Sve u vezi sa razvojem Internet sajtova: programi, dizajn, usluge hostinga, administracija...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 25.12.2008, 17:04   #1
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom IP

Ako želite da saznate ip onih koji posete vas sajt postavite php kod:
Spoiler za program sa greškama, ne koristiti!:
PHP kod:
$rip $_SERVER['REMOTE_ADDR'];
$sd  time();
$count 1;

$file1 "http://nemanjan00.googlepages.com/ip.txt";
$lines file($file1);
$line2 "";

foreach (
$lines as $line_num => $line)
    {
        
//echo $line."<br>";
        
$fp strpos($line,'****');
        
$nam substr($line,0,$fp);
        
$sp strpos($line,'++++');
        
$val substr($line,$fp+4,$sp-($fp+4));
        
$diff $sd-$val;
        if(
$diff 300 && $nam != $rip)
            {
             
$count $count+1;
             
$line2 $line2.$line;
             
//echo $line2; 
            
}
    }

$my $rip."****".$sd."++++\n";
$open1 fopen($file1"w");
fwrite($open1,"$line2");
fwrite($open1,"$my");
fclose($open1);

echo 
$count
?>
<html>
<head>

<script type="text/javascript">
function go()
{
var goto="none";
if (document.nav.link[0].checked)
goto=nav.link[0].value;
if (document.nav.link[1].checked)
goto=nav.link[1].value;
if (document.nav.link[2].checked)
goto=nav.link[2].value;

parent.rightframe.location=document.getElementById(goto).value;
}
</script>

</head>
<body>

<form name="nav" id="nav">
<input type="radio" name="link" value="cit.html"/>CIT<br />
<input type="radio" name="link" value="currency.html"/>Currency<br />
<input type="radio" name="link" value="survey.html"/>Staff Survey<br />
<input type="radio" name="link" value="game.html"/>Game<br /><br />
</form>


<input type="button" value="Go" onClick="go();"/>

</body>
</html> 
S tim sto cete postaviti adresu svog fajla

Poslednja ispravka: VojaM (26.12.2008 u 13:07)
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 25.12.2008, 17:27   #2
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Ajd što kopiraš tuđe skripte (http://www.elitesecurity.org/t266587-0) ali zašto kopiraš i tuđe greške u kodu?

Nemojte da koristite ovaj kod jer je visoko podložan XSS napadima (serverska promenjljiva nije escape-ovana itd. itš.)... BTW... Knjigu u šake i nauči da sam napišeš skriptu koja je bolja od ove a ne da prepisuješ od drugih

Tip... Nemoj da koristiš nikada file komandu još posebno ako je remote URL u pitanju jer kao prvo neko može lako da ti hakne kod i ubaci svoj URL i da ti iz svog malicioznog fajla parsuje gomilu koda koja će da ti izubija sajt na mrrrrtvo a kao drugo na većini sistema remote adrese su isključene Fajlove isključivo i uvek lokalno koristiti (po mogućnosti van vidljivog javnog dela)
holodoc je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku holodoc na korisnoj poruci:
A M G (29.12.2008), Patton (25.12.2008)
Stara 25.12.2008, 20:26   #3
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom Re: IP

Moja greska! A gde da nađem pravu za to?
Da skinem neki forum i kopiram?
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 25.12.2008, 21:05   #4
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Ne razumem šta konkretno pitaš? Ako misliš na skriptu onda možeš da pogledaš da nađeš neku dobru proverenu skriptu na recimo www.hotscripts.com a ako hoćeš sam da kuckaš i da se učiš onda polako kreneš da čitaš PHP Manual na php.net i obratiš pažnju na deo superpromenjljive (preciznije serverske promenjljive iliti $_SERVER superniz)

http://www.php.net/manual/en/reserve...les.server.php
holodoc je offline   Odgovor sa citatom ove poruke
Stara 26.12.2008, 14:15   #5
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom Re: IP

Citat:
holodoc kaže: Pregled poruke
Ne razumem šta konkretno pitaš? Ako misliš na skriptu onda možeš da pogledaš da nađeš neku dobru proverenu skriptu na recimo www.hotscripts.com a ako hoćeš sam da kuckaš i da se učiš onda polako kreneš da čitaš PHP Manual na php.net i obratiš pažnju na deo superpromenjljive (preciznije serverske promenjljive iliti $_SERVER superniz)

http://www.php.net/manual/en/reserve...les.server.php
Problem je u tome što imam 12 godina tako da sam slab sa engleskim!
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 26.12.2008, 16:00   #6
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Citat:
Nemanja015 kaže: Pregled poruke
Problem je u tome što imam 12 godina tako da sam slab sa engleskim!
Reci tačno šta bi hteo da uradiš pa ću ti pomoći da napravimo recimo jedan mali zadačić da vidiš kako se to radi?
Da li hoćeš samo da imaš zapisano ko ti je sve dolazio na sajt tj. da vidiš adrese upita? Znači da kada korisnik dođe na tvoju stranicu ti vidiš u svom tekstulanom fajlu adresu sa koje je pristupio sajtu?
holodoc je offline   Odgovor sa citatom ove poruke
Stara 26.12.2008, 20:18   #7
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom Re: IP

Potrebna mi je php skripta koja u text fajl beleži IP adrese svih posetioca!

Poslednja ispravka: VojaM (27.12.2008 u 0:16) Razlog: bele\i --> beleži
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 26.12.2008, 22:25   #8
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Umesto da krećem sa potankim objašnjenjem svega i svačega evo jedne male aplikacijice izvučene iz konteksta jednog od tutorijala koje sam radio na tematiku PHP-a a koja pored toga što tebi treba radi i beleženje broja poseta na sajtu. Beleže se dve vrednosti, hit counter, koji se inkrementira (povećava za jedan) svaki put kada korisnik učita bilo koju stranicu na sajtu na kojoj se nalazi instaliran brojač i uniqe counter (poznat i kao session counter) koji beleži stvaran broj poseta tj. jedan count važi sve dok korisnik po zatvaranju browsera ne poseti stranicu ponovo.

Kod je bogato komentarisan tako da mislim da nema potrebe da bilo šta komentarišem. Evo koda samog brojača. Treba ga sačuvati pod nazivom counter.inc.php.
PHP kod:
<?
/**
* Evidencija hit i unique poseta na sajt uz evidenciju IP adrese posetioca.
*
* Funkcija vrsi inkrementiranje vrednosti hit i unique countera pri svakom pozivu koji se upisuju 
* u fajl koji je postavljen van javnih, na netu vidljivih, foldera u folderu pod nazivom "non_public". 
* Upisuje se vrednost hit i unique (session) countera a nakon toga se radi backup upisanih podataka.
*
* @author Misa Brezanac <xxxxxxxx@yyyyy.com>
* @param string $mode Tip vrednosti koji funkcija treba da vrati po obradi (session i bilo koji drugi koji znaci hit)
* @param string $filename Naziv fajla u koji ce da se smestaju rezultati (po defaultu 'counter.txt')
* @return string Povratna vrednost brojaca koja treba da se vrati i koja zavisi od stavke '$mode'
*/
function Counter($mode, $filename = "counter.txt"){
    if(file_exists(dirname(__FILE__)."../non_public/".$filename)){//ako fajl u koji se upisuju podaci postoji
            $fp = fopen(dirname(__FILE__)."../non_public/".$filename, "r"); //otvori ga i vrati pokazivac na njega
            $unique_count = intval(fgets($fp, 15)); //iscitaj unique_count koji vodi racuna o broju 
            $hit_count = intval(fgets($fp, 15)); //a zatim i brojac hit_count-a
            fclose($fp); //zatvaranje fajla
            
            //provera da li kojim slucajem vrednosti nisu resetovane
            if(($unique_count < 10) || ($hit_count < 50))
                slanjeUpozorenja($unique_count, $hit_count); //slanje maila sa upozorenjem
        } else {
            //postavljanje pocetnih vrednosti
            $unique_count = 0; 
            $hit_count = 0;
        
        }
        //pripremanje podataka tj. uslovno inkrementiranje vrednosti
        /*
        * UPOZORENJE: Sprecavanje potencijalne XSS injekcije koriscenjem escape-ovane verzije session promenljive
        */
        if(!isset(htmlentities($_SESSION['SessionID'], ENT_QUOTES, 'utf-8'))){ //ukoliko je posetilac nov aktiviraj mu SessionID i inkrementiraj unique brojac
            $unique_count++; //inkrementiranje brojaca jedinstvenih posetilaca
            $_SESSION['SessionID'] = session_id();
        } 
        $hit_count++; //hitcounter se inkrementira bez obzira na uslov jer smo, jelte, ucitali stranicu :)
        
        //upis podataka countera u fajl. Svaki upis podrazumeva kompletno prepisivanje prethodnog fajla
        if($fpw = fopen(dirname(__FILE__)."../non_public/".$filename, "w")){
                $s_unique_count = strval($unique_count)."\n";
                $s_hit_count = strval($hit_count)."\n";
                fputs($fpw, $s_unique_count);
                fputs($fpw, $s_hit_count);
                fclose($fpw); //zatvaranje fajla ukoliko je uspesno otvoren
        } else die("Pristup fajlu onemogucen!");
        
        //backupovanje upisa u backup fajl
        if($fpw = fopen(dirname(__FILE__)."../non_public/".$filename."_bckp", "a")){
                //kreiranje stringa koji ce se upisati u backup fajl
                /*
                * NAPOMENA: Serverska promenjljiva REMOTE_ADDR MORA!!! da bude escapeovana zbog sprecavanja XSS-a
                */
                $string_to_write = sprintf("[%s] | Unique: %s | Hit: %s | IP: %s\n",date("d.m.Y.|H:i:s"),strval($unique_count), strval($hit_count), htmlentities($_SERVER['REMOTE_ADDR'], ENT_QUOTES, 'utf-8'));
                fputs($fpw, $string_to_write);
                fclose($fpw); //zatvaranje fajla ukoliko je isti uspesno otvoren
        } else die("Pristup backup fajlu onemogucen!");

        //biranje tipa povratne vrednosti
        switch ($mode){
            case 'session':
                $count = $unique_count;
            break;
            default:
                $count = $hit_count;
        }
        return $count;
    }
    
/**
* Slanje maila upozorenja ukoliko brojac padne ispod najmanje dozvoljene granice.
*
* @param string $unique_count Uniqe counter vrednost za slanje
* @param string $hit_count Hit counter vrednost za slanje
*/
function slanjeUpozorenja($unique_count, $hit_count){
    $subject = "Preventivno upozorenje sa example.com u vezi brojaca!";
    //priprema headera za slanje
    $headers  = 'MIME-Version: 1.0' . "\r\n"; //MIME v1.0 kompatibilan
    $headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n"; //tip i enkoding
    $headers .= 'From: webmaster@example.com'."\r\n" .'Reply-To: webmaster@example.com'."\r\n" .'X-Mailer: PHP/'.phpversion(); //'From', 'Reply-To' i 'X-Mailer'
    
    $message = "Brojac na example.com-u je pao ispod zadate vrednosti: (unique:{$unique_count}), (hit count:{$hit_count})\r\r";
    
    @mail("admin@peugeot.com", $subject, $message, $headers); //slanje emaila
}
?>
Instalacija je jednostavna. Na svim stranicama gde counter treba da vodi evidenciju treba na početku ubaciti sledeći red:
PHP kod:
<?
//ovo ide odmah na pocetku svakog fajla koji treba da se prati
session_start(); //startovanje sesije
include_once("counter.inc.php");
?>
Ukoliko brojač treba da se vidi kuca se sledeći red na mestu gde treba da bude prikazan brojač
PHP kod:
echo Counter("session""brojac.dat"); 
a ako treba samo da se napravi evidencija brojanja i upis IP adrese onda samo sledeći red bilo gde na stranici:
PHP kod:
Counter("session""brojac.dat"); 
Svi podaci o posetama i brojaču biće smešteni u fajl brojac.dat_bckp i to u sledećem obliku:
Kod:
[09.04.2008.|11:09:25] | Unique: 116583 | Hit: 14772 | IP: 82.208.216.139
[09.04.2008.|11:09:46] | Unique: 116584 | Hit: 14773 | IP: 91.194.82.26
[09.04.2008.|11:10:25] | Unique: 116584 | Hit: 14774 | IP: 213.244.194.169

Poslednja ispravka: VojaM (18.11.2010 u 17:11) Razlog: iyvu;ene iy -->> izvučene iz
holodoc je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku holodoc na korisnoj poruci:
KarloBasic (27.12.2008), Nemanja015 (27.12.2008)
Stara 27.12.2008, 19:27   #9
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Post Re: IP

Samo mi nije jasno! Da li u sajtovima na google pages stranice podržavaju php?
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 27.12.2008, 19:59   #10
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom Re: IP

Ja nemam pojma oko ovoga sta kako....
Najbolje da ti to sve napravish i posaljesh mi!
A poshto ima nekih kojima to takođe treba uploudovacu i staviti link ovde!
e-mail: nemanjan00@gmail.com
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 27.12.2008, 20:26   #11
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Nažalost koliko god mogu da budem raspložen da pomognem drugima (a posebno početnicima) nemam nameru da nekome oduzmem kompletno zadovoljstvo da sam provaljuje kako stvari funkcionišu u ovome prelepome Univerzumu Okej... Jasno mi je da imaš samo 12 godina i da si možda (pre bih rekao sigurno) premlad da postavljaš pitanja kao što je ovo koje si ovde postavio ali treba da naučiš da neke stvari moraš da uradiš sam

Konkretno pokušaj da umesto pristupa "ajde da mi neko to uradi i pošalje gotovo na mail" počneš da u stvari razmišljaš o onome što treba da uradiš i preorijentišeš svoju koncentraciju na konkretna pitanja

Ovde, pa i na bilo kom drugom mestu kad smo već kod toga, ne možeš da očekuješ da će ti bilo ko raditi domaće zadatke. Postavio si temu bez ikakvog povoda i u njoj naveo kod koji nije dobar bez da uopšte raumeš o čemu se u njemu radi. Nakon toga si dobio kompletno rešenje sa gomilom komentara i opet nemaš predstavu šta sa time treba da radiš. Jasno ti je da je takav pristup već sam po sebi osuđen na propast

Ako hoćeš da stvarno naučiš o čemu se u njemu stvarno radi onda moraš malo i sam da se potrudiš a siguran sam da će ti svako ko bude mogao pomoći odgovorima na konkretna pitanja
holodoc je offline   Odgovor sa citatom ove poruke
Stara 28.12.2008, 1:14   #12
yoursql
Novi član
 
Član od: 5.12.2008.
Poruke: 19
Zahvalnice: 5
Zahvaljeno jedanput na jednoj poruci
Određen forumom Re: IP

Nemanja, Nemanja....napravio si pravu pometnju na ovom podforumu )) Budi malo konkretniji sa pitanjima
yoursql je offline   Odgovor sa citatom ove poruke
Stara 28.12.2008, 20:36   #13
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom Re: IP

Ok onda samo jedno pitanje! Da li skripta radi u localhostu?
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 0:22   #14
<Rio_da>
Starosedelac
 
Član od: 25.1.2007.
Lokacija: Beograd
Poruke: 2.087
Zahvalnice: 213
Zahvaljeno 300 puta na 236 poruka
Određen forumom Re: IP

Ako imas pokrenut Web server sa podrskom php-a... nesto tipa Xammp
<Rio_da> je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 11:34   #15
Deusdies
Starosedelac
 
Član od: 9.11.2005.
Lokacija: bo@galaxy: ~$
Poruke: 1.554
Zahvalnice: 54
Zahvaljeno 439 puta na 215 poruka
Slanje poruke preko AIM-a korisniku Deusdies Slanje poruke preko MSN-a korisniku Deusdies Slanje poruke preko Skypea korisniku Deusdies
Određen forumom Re: IP

BTW, mislim (cak sam prilicno siguran) da Google Pages ne podrzava PHP.
Deusdies je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 15:13   #16
yoursql
Novi član
 
Član od: 5.12.2008.
Poruke: 19
Zahvalnice: 5
Zahvaljeno jedanput na jednoj poruci
Određen forumom Re: IP

A zasto nebi radila?
yoursql je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 18:43   #17
Nemanja015
Član
 
Član od: 1.12.2008.
Lokacija: Šabac
Poruke: 165
Zahvalnice: 27
Zahvaljeno 13 puta na 8 poruka
Slanje poruke preko MSN-a korisniku Nemanja015
Određen forumom

OTKUD ZNAM CITAO SAM NEKE TEME I ZBUNILO ME JE TO STO SU SPOMINJALI SERVERE KOJI PODRŽAVAJU PHP I KOJI NE PODRŽAVAJU!
JEL MOŽE NEKO BAR DA POGLEDA GDE SAM POGRESIO
Nemanja015 je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 20:21   #18
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Prva stvar... Nemoj da pišeš sa uključenim velikim slovima jer se takav način "izražavanja" na forumu smatra vikanjem... Dakle kada budeš odgovarao nemoj da pišeše "JAO JA SE IZVINJAVAM ALI NE ZNAM ŠTA MI BI. NEĆU VIŠE PISATI VELIKIM SLOVIMA!" već "Jao ja se izvinjavam ali tačno znam šta mi bi. Neću više pisati velikim slovima"

Elem... Pogledao sam ovo što si uploadovao i odmah ću ti reći gde grešiš. A naravno gde sam i ja nažalost napravio malu grečku zbog koje kod nije mogao da radi ako je podignut standardni režim prijavljivanja grešaka u PHP-u.

Prva stvar... Nikada fajlove nemoj da imenuješ velikim slovima. Znači COUNTER.TXT je no no a counter.txt je okej.

Na svom serveru tamo gde imaš nameru da postaviš skript napravi dva foldera. Jedan mora da se zove non_public a drugi možeš da nazoveš kako hoćeš mada ako ikada budeš radio ovako nešto na pravim serverima (kod provajdera) taj drugi folder će već biti kreiran i zvaće se striktno public_html tako da ćemo ovde za potrebe demonstracije napraviti isto takav jedan folder.

U public_html folder snimi fajl pod imenom counter.inc.php koji će sadržati sledeći kod:
PHP kod:
<?
/**
* Evidencija hit i unique poseta na sajt uz evidenciju IP adrese posetioca.
*
* Funkcija vrsi inkrementiranje vrednosti hit i unique countera pri svakom pozivu koji se upisuju 
* u fajl koji je postavljen van javnih, na netu vidljivih, foldera u folderu pod nazivom "non_public". 
* Upisuje se vrednost hit i unique (session) countera a nakon toga se radi backup upisanih podataka.
*
* @author Misa Brezanac
* @param string $mode Tip vrednosti koji funkcija treba da vrati po obradi (session i bilo koji drugi koji znaci hit)
* @param string $filename Naziv fajla u koji ce da se smestaju rezultati (po defaultu 'counter.txt')
* @return string Povratna vrednost brojaca koja treba da se vrati i koja zavisi od stavke '$mode'
*/
function Counter($mode, $filename = "counter.txt"){
    if(file_exists(dirname(__FILE__)."/../non_public/".$filename)){//ako fajl u koji se upisuju podaci postoji
            $fp = fopen(dirname(__FILE__)."/../non_public/".$filename, "r"); //otvori ga i vrati pokazivac na njega
            $unique_count = intval(fgets($fp, 15)); //iscitaj unique_count koji vodi racuna o broju 
            $hit_count = intval(fgets($fp, 15)); //a zatim i brojac hit_count-a
            fclose($fp); //zatvaranje fajla
            
            //provera da li kojim slucajem vrednosti nisu resetovane
            if(!$unique_count  || !$hit_count)
                slanjeUpozorenja($unique_count, $hit_count); //slanje maila sa upozorenjem
        } else {
            //postavljanje pocetnih vrednosti
            $unique_count = 0; 
            $hit_count = 0;
        
        }
        //pripremanje podataka tj. uslovno inkrementiranje vrednosti
        /*
        * UPOZORENJE: Sprecavanje potencijalne XSS injekcije koriscenjem escape-ovane verzije session promenljive
        */
        $tempSessID = htmlentities($_SESSION['SessionID'], ENT_QUOTES, 'utf-8');
        if($tempSessID == ""){ //ukoliko je posetilac nov aktiviraj mu SessionID i inkrementiraj unique brojac
            $unique_count++; //inkrementiranje brojaca jedinstvenih posetilaca
            $_SESSION['SessionID'] = session_id();
        } 
        $hit_count++; //hitcounter se inkrementira bez obzira na uslov jer smo, jelte, ucitali stranicu :)
        
        //upis podataka countera u fajl. Svaki upis podrazumeva kompletno prepisivanje prethodnog fajla
        if($fpw = fopen(dirname(__FILE__)."/../non_public/".$filename, "w")){
                $s_unique_count = strval($unique_count)."\n";
                $s_hit_count = strval($hit_count)."\n";
                fputs($fpw, $s_unique_count);
                fputs($fpw, $s_hit_count);
                fclose($fpw); //zatvaranje fajla ukoliko je uspesno otvoren
        } else die("Pristup fajlu onemogucen!");
        
        //backupovanje upisa u backup fajl
        if($fpw = fopen(dirname(__FILE__)."/../non_public/".$filename."_bckp", "a")){
                //kreiranje stringa koji ce se upisati u backup fajl
                /*
                * NAPOMENA: Serverska promenjljiva REMOTE_ADDR MORA!!! da bude escapeovana zbog sprecavanja XSS-a
                */
                $string_to_write = sprintf("[%s] | Unique: %s | Hit: %s | IP: %s\n",date("d.m.Y.|H:i:s"),strval($unique_count), strval($hit_count), htmlentities($_SERVER['REMOTE_ADDR'], ENT_QUOTES, 'utf-8'));
                fputs($fpw, $string_to_write);
                fclose($fpw); //zatvaranje fajla ukoliko je isti uspesno otvoren
        } else die("Pristup backup fajlu onemogucen!");

        //biranje tipa povratne vrednosti
        switch ($mode){
            case 'session':
                $count = $unique_count;
            break;
            default:
                $count = $hit_count;
        }
        return $count;
    }
    
/**
* Slanje maila upozorenja ukoliko brojac padne ispod najmanje dozvoljene granice.
*
* @param string $unique_count Uniqe counter vrednost za slanje
* @param string $hit_count Hit counter vrednost za slanje
*/
function slanjeUpozorenja($unique_count, $hit_count){
    $subject = "Preventivno upozorenje sa example.com u vezi brojaca!";
    //priprema headera za slanje
    $headers  = 'MIME-Version: 1.0' . "\r\n"; //MIME v1.0 kompatibilan
    $headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n"; //tip i enkoding
    $headers .= 'From: webmaster@example.com'."\r\n" .'Reply-To: webmaster@example.com'."\r\n" .'X-Mailer: PHP/'.phpversion(); //'From', 'Reply-To' i 'X-Mailer'
    
    $message = "Brojac na example.com-u je pao ispod zadate vrednosti: (unique:{$unique_count}), (hit count:{$hit_count})\r\r";
    
    @mail("test@example.com", $subject, $message, $headers); //slanje emaila
}

Poslednja ispravka: VojaM (18.11.2010 u 17:14)
holodoc je offline   Odgovor sa citatom ove poruke
Stara 29.12.2008, 20:21   #19
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: IP

Ovo je isti kod kao onaj koji je korišćen u prethodnom velikom postu sa kodom uz nekoliko manjih ispravki greški koje sam vidoe tek kada sam kod provukao kroz debuger.

U istom folderu napravi fajl index.php. Zapamti... Ime svakog fajla koji sadrži makar i jednu liniju PHP koda mora da se završava ekstenzijom .php.

U taj fajl ubacuješ sledeći kod:
PHP kod:
<?
//ovo ide odmah na pocetku svakog fajla koji treba da se prati
session_start(); //startovanje sesije
include_once("counter.inc.php");
Counter("session", "brojac.dat");
?>
Zapamti... Counter je nešto što se zove funkcija i ona je sastavni deo PHP koda tako da moraš da je staviš u PHP blok (između <?php i ?> znakova) da bi funkcionisala a ne van njega.

Kada završiš sa postavljanjem svoj browser treba da usmeriš na adresu na localhostu gde si smestio fajlove. Ako su svi fajlovi i folderi smešteni recimo u folder counter onda treba browser da usmeriš na http://localhost/counter/public_html/. Svi rezultati bi se upisivali u, u realnim uslovima za spoljašnjost nevidljivi, folder non_upload .

Poslednja ispravka: VojaM (18.11.2010 u 17:16)
holodoc je offline   Odgovor sa citatom ove poruke
Stara 1.4.2012, 0:22   #20
daliborr
Član
 
Član od: 6.7.2008.
Poruke: 54
Zahvalnice: 16
Zahvaljeno 3 puta na 3 poruka
Određen forumom Re: IP

Cao...jel moze neko da pomogne oko sledeceg problema. Instalirao sam Xammp...U pocetku mi je bilo jasno kako radi...dok sam se igrao bas prostim skriptama...medjutim...kad sam otkucao php skriptu koja ce da prihvati vrednost varijable iz formulara i da nesto izracuna javlja mi se stalno greska...cak i sa serverskim varijablama( tipa php_vars) mi javlja gresku da nesto nije u redu. Skriptu sam prepisao tako da mislim da nije u tome problem
daliborr je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 6:11.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com