PHP Logolás
Szíves elnézését kérem a fórumnak, ha nem megfelelően hoznám létre a témát. Nem nagyon szokásom fórumozni, inkább csak aktív olvasója vagyok azoknak, viszont most egy érdekes problémába ütköztem. Egy ip logolást csinálok épp, a beérkező lekérdezéseket az oldalon menti (ip, useragent, referer, stb) illetve, hogy melyik oldal volt lekérdezve, amit az alábbi módon állítok elő: "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].
Ennek ellenére, befutott egy olyan (valószínűleg) bot által logolás ami az alábbi címet tartalmazta: http://www.cloud.ph/... Természetesen, ilyen oldalt nem nézhetett mert az oldal nem az én tulajdonomba van... képzelhetitek mennyire meglepődtem.
A leglogikusabb magyarázat, hogy valamiképp a $_SERVER['SERVER_NAME'] értéket változtatta meg. Merül fel a kérdés, ez hogy lehetséges? Szeretnék hatékonyan védekezni ellene.
Még egy olyan záradékot is tettem bele a kódomba miszerint ha $_SERVER['SERVER_NAME'] nem egyezik a $_SERVER['HTTP_HOST'] -al akkor ne is szolgálja ki... ennek ellenére még is.
Szeretném kérni a tanácsotok ez ügyben.
Válaszaitokat előre is köszönöm.
(Google, megvolt de hiányos angol ismereteim végett neeem túl sokra jutottam).
Köszönöm
■ Ennek ellenére, befutott egy olyan (valószínűleg) bot által logolás ami az alábbi címet tartalmazta: http://www.cloud.ph/... Természetesen, ilyen oldalt nem nézhetett mert az oldal nem az én tulajdonomba van... képzelhetitek mennyire meglepődtem.
A leglogikusabb magyarázat, hogy valamiképp a $_SERVER['SERVER_NAME'] értéket változtatta meg. Merül fel a kérdés, ez hogy lehetséges? Szeretnék hatékonyan védekezni ellene.
Még egy olyan záradékot is tettem bele a kódomba miszerint ha $_SERVER['SERVER_NAME'] nem egyezik a $_SERVER['HTTP_HOST'] -al akkor ne is szolgálja ki... ennek ellenére még is.
Szeretném kérni a tanácsotok ez ügyben.
Válaszaitokat előre is köszönöm.
(Google, megvolt de hiányos angol ismereteim végett neeem túl sokra jutottam).
Köszönöm
Default
Félreértés
vhostnak is a base-el kéne visszatérnie, ami az enyém volna az xy.zz domain viszont itt egy teljesen különálló server_name visszatérési értékről van szó ami köszönőviszonyba sincs a serverrel.
Elnézést ha félreértem a válaszod és egyben köszönöm is.
UseCaninicalName
Bárki megteheti (akárt te is putty segítségével), hogy megynitja, a 80-as portot és átküli a következő szöveget:
Ekkor a webszervered megkeresi a névhez tartozó virtualhosztot (mivel nem lesz ilyen, a defaultot fogja kiválasztani) és futtatja a PHP kódodat.
A SERVER_NAME értéke attól függ, hogy a UseCanonicalName direktíva mire van állítva. A dokumentációból:
...vagyis amit akliens mond az lesz a SERVER_NAME.
Fény az alagút végén
Viszont ha jól értem, ha a UseCanonicalName direktívát bekapcsolom akkor ez a probléma hárul? Maga a UseCanonicalName szerepe az ami ne teljesen világos. (Elnézést hogy itt feltartom a társaságot az alap kérdéseimmel ><)
Nagyon szépen köszönöm válaszod.
Igazán nincs mit
Mindazonáltal én létrehoznék egy másik virtualhostot (ami elsőként kell betöltődjön a configból), ami betölti majd a default szerepét. Így ha hasonló próbálkozásokat kapsz, fölöslegesen nem dologzik a PHP kódod, hanem az üres default hoszt fogja kezelni őket.
Az, hogy hogyan állítasz be virtualhosztot az disztribúció-függő. Ha Webmint vagy hasonló dolgot használsz annak is meglesz a maga módszere rá.