DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   problem -> HTTP_REFERER (http://www.devprotalk.com/showthread.php?t=2336)

flash_back 28. 01. 2007. 17:51

problem -> HTTP_REFERER
 
Pozdrav pre svega..

treba mi mala pomoc a neznam kome drugo da se obratim.. problem je sledeci, napisao sam kod za jednu anketu, cak uradio i ceo (100% ®) background sistem za istu (interesu je me bas sta rade ljudi na anketama i kako se ponasaju)..

i imam jedan banalan problem.. ne mogu da nateram online server da mi ispise $_SERVER['HTTP_REFERER'], dobijam empty value a s tim korakom kontam dali je u pitanju neki hack/napad..

dali neko ima neku ideju kako da se ovo izvede?

bluesman 28. 01. 2007. 19:55

Glupo pitanje, ali nadam se da ne pristupaš direktno scriptu u kojem želiš da ispišeš HTTP_REFERER ? ;)

flash_back 28. 01. 2007. 20:49

Pa odgovor je i da i ne ;)

Konkretno na post forme uporedjujem domen adresu sa predhodnim url-om, ako postoji match anketu karakterisem kao validnu i pravim zapis u bazi, sve suprotno karakterisem kao napad..

problem je u tome da nemogu da izvucem od servera HTTP_REFERER, dobijam konstantno praznu vrednost (ista je prica sa linkovima, bez posta forme)..

bluesman 28. 01. 2007. 21:47

Ne mogu da ti kažem konkretno jer nemam sada strpljenja da gledam tuđi kod, ali evo probaj:

http://www.devprotalk.com/bluesman/b.php

kada klikneš na link izađe:

referer: http://www.devprotalk.com/bluesman/b.php

A to je na istom serveru na kojem je i tvoj sajt.

Ili klikni na http://www.devprotalk.com/bluesman/a.php
izaći će ova strana kao referer.

Peca 28. 01. 2007. 22:12

mozda imas antivirus/firewall pa ti on blokira referer.

imaj na umu da postoje korisnici ciji browser ne ostavlja referer, sto zbog antivirusa/firewalla, sto zbog konfiguracije browsera...

ne mozes na referer da se oslanjas kao na 'sigurnu vrednost', jer em moze da ne bude set-ovana [av/fw/browser blokira], em moze i da se fake-uje [falsifikuje, podmetne referer kao da je sa tvog sajta, a zapravo uopste ne dolazi odatle]

flash_back 28. 01. 2007. 22:16

je*em mu miša :) evo kako kod mene izgleda taj a.php

HTML kôd:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
        <title>Strana A</title>
</head>

<body>

referer:

</body>
</html>

čudno, nema šta! izgleda da je mozda problemčić u firewallu, sad ću da proverim...

---
e, sad sam snimio post :) i da, firewall je bio u pitanju..

Citat:

Originalno napisao Peca
ne mozes na referer da se oslanjas kao na 'sigurnu vrednost', jer em moze da ne bude set-ovana [av/fw/browser blokira], em moze i da se fake-uje [falsifikuje, podmetne referer kao da je sa tvog sajta, a zapravo uopste ne dolazi odatle]

sta predlazes? mozda da nesto izvrtim preko sesije i kolacija? poznato mi je samo to da anketa nemoze biti validna ako je npr: $_SESSION['posete'] == 1 ;) mozda mogu na tome nesto da poradim..

flash_back 29. 01. 2007. 00:01

opusteno, snasao sam se :)

Po meni jedino logicno resenje je bilo da imam nesto u mojoj stranici sto ne moze da se generise iz neke druge... i nista, stvar je simple a koristi - imam $cist_kod random string, njega stavljam u jedno sakriveno polje a sha1 tog random stringa stavljam u kolacic.. i resto je puko uporedjivanje :)

PHP kôd:

if(isset($_COOKIE['OverheatCookie'])) {
if (
sha1($_POST['kod']) == $_COOKIE['OverheatCookie']) {
$sigurnost "ok";
} else {
$sigurnost "****";
}
} else {
$kolacici "****";
}

$vreme_kolacica 86400 time();
$cist_kod mt_rand();
$sigurnosni_kod sha1($cist_kod);
setcookie(OverheatCookie$sigurnosni_kod$vreme_kolacica); 

ajd sad na anketu ;)

Peca 29. 01. 2007. 16:49

a ako browser blokira i cookies? :D
jedino sigurno resenje je preko sesija...
mada, procenat onih koji blokiraju cookies je jako mali, pa sto bi se zamlacivao sa tim...

Petar Marić 29. 01. 2007. 18:38

A preko čega misliš da pratiš sesiju? SID možeš slati samo ili kroz cookie ili kroz URL, a ovo drugo ne savetujem - em ružno, em opasno.

Peca 29. 01. 2007. 19:55

ali ako korisiku ne radi cookie, jedino ti ostaje URL.
web aplikacija bi sama trebala da izvali da li korisniku radi cookie ili ne...


Vreme je GMT +2. Trenutno vreme je 18:41.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.