Autor | Zpráva | ||
---|---|---|---|
Fastman Profil |
#1 · Zasláno: 24. 9. 2010, 20:26:13 · Upravil/a: Fastman
Dobrý den úplně jednoduchá otázka, jde udělat když se podívá na můj web aby to někde v adresáři nebo v .txt souboru zapisovalo ip adresu všech návštěvníků co tam byli samozřejmě aby tam nebyla opakovačka stejných ip adres ( jednalo by se potom v adresáři o spam ) předem děkuji za odpověď.
|
||
Krakatoa Profil |
#2 · Zasláno: 24. 9. 2010, 22:03:29
www.google.com/search?q=php+zjištění+ip
Druhej odkaz ve vyhledávání vede na diskusi na jakpsatweb.cz Asi tu dostaneš BAN na IP. |
||
Keeehi Profil |
#3 · Zasláno: 24. 9. 2010, 22:42:57
Fastman:
Ano jde to. Je pravda, že jsi mohl trochu hledat, ale napovím, že IP je v $_SERVER["REMOTE_ADDR"]
Krakatoa: „Asi tu dostaneš BAN na IP.“ A na to jsi přišel jak? |
||
Fastman Profil |
#4 · Zasláno: 25. 9. 2010, 08:09:36
Moc vám děkuji a omlouvám se nechtěl jsem způsobit problémy ale nevěděl jsem jak mám hledat :( .
|
||
Joker Profil |
#5 · Zasláno: 25. 9. 2010, 09:53:31
Krakatoa:
„Asi tu dostaneš BAN na IP.“ Klid, ano? Ban udělují moderátoři, kolektivně (tzn. jen pokud žádný není proti banu) a obvykle na základě opakovaných vážných porušení pravidel a po vyčerpání jiných možností. Strašit banem někoho, kdo jen nehledal/nenašel svůj dotaz (což ani není porušení závazných pravidel), mi přijde nevhodné. Fastman: Jelikož dotaz je v kategorii HTML, dodám, že to ukládání IP se dělá pomocí nějaké technologie na straně serveru (to co zmiňuje Keeehi je PHP), v samotném HTML to nejde. |
||
Fastman Profil |
Joker:
Ano chápu moc se omlouvám příště se to nestane pokud to půjde můžete to přesunout do PHP jinak děkuji za všechny vaše odpovědi. Moderátor Joker: Přesunuto tedy do PHP
|
||
Fastman Profil |
#7 · Zasláno: 25. 9. 2010, 13:22:25
<?php $ip = $_SERVER['REMOTE_ADDR']; echo "Vase IP adresa je: $ip"; ?> Nevím jestli to je ono ale potřebuji vědět prosím jak udělám když někdo navštíví web aby jeho ip se někam zapsala nejlépe do .txt abych ho mohl popřípadě zabanovat! /ještě nejlepší by bylo že než tam příjde tak aby vyplnil jenom jméno a to by se zapsalo i z jeho ip někam do .txt . Děkuji vám za všechny odpovědi. |
||
Keeehi Profil |
#8 · Zasláno: 25. 9. 2010, 13:46:14
Fastman:
Práce se soubory |
||
Alphard Profil |
#9 · Zasláno: 25. 9. 2010, 15:27:23
Ještě doplním, že na tohle by se hodila funkce file_put_contents(), kterou v [#8] nevidím. Všimněte si flagu
FILE_APPEND .
|
||
Fastman Profil |
#10 · Zasláno: 25. 9. 2010, 16:23:06
Prosím jak jsem již psal já potřebuji kód který zjistí ip návštěvníka a odešle někam do .txt v php moc neumím.
|
||
Keeehi Profil |
#11 · Zasláno: 25. 9. 2010, 18:53:48
Fastman:
Musíte projevit trochu vůle se něco naučit, na něco přijít. Pokoušejte se, když se vám to po několika pokusech nepovede, napište sem a přidejte svůj dosavadní výtvor. Můžete popsat, co jste zkoušel, jak to dopadlo (co jste očekával a co se ve skutečnosti stalo) a jistě vám potom někdo rád poradí. Na zjištění IP jste už přišel, teď to stačí zapsat do souboru. Doporučil bych tu funkci file_put_contents(). Ten odkaz v [#9] vede na stránku, kde je vysvětleno její použití. |
||
Fastman Profil |
#12 · Zasláno: 26. 9. 2010, 08:14:26
Tak nevím furt to nejde vím že to
$file = 'adresa.txt'; <?php $file = 'adresa.txt'; $ip = $_SERVER['REMOTE_ADDR']; echo "Vase IP adresa je: $ip"; ?> |
||
drvaca Profil |
#13 · Zasláno: 26. 9. 2010, 08:37:17
Takto vypadá kód co jsem si nedávno doslova zprasil pro jeden svůj již nefunkční web. Snad si z toho dokážeš vytáhnout jen tu IP.
<?php $hlavniradek = FOpen("soubor.htm", "a"); $datum = StrFTime("%d.%m.%Y %H:%M", Time()); $proma = "" . gethostbyaddr($_SERVER['REMOTE_ADDR']) . ""; $ip = getenv("REMOTE_ADDR") ; $data = strtolower($_SERVER["HTTP_USER_AGENT"]); $prohlizece = Array("MSIE", "Netscape", "Firefox", "Maxthon", "Opera", "Mozilla", "Neznámý"); if(eregi("gecko", $data)) { if(eregi("netscape", $data)) { $prohlizec = "1"; } elseif(eregi("firefox", $data)) { $prohlizec = "2"; } else { $prohlizec = "5"; } } elseif(eregi("maxthon", $data)) { $prohlizec = "3"; } elseif(eregi("pera", $data)) { $prohlizec = "4"; } elseif(eregi("msie", $data)) { $prohlizec = "0"; } else { $prohlizec = "6"; } $oska = Array("Win XP", "Win 98", "Win 2000", "Windows", "Linux", "Mac OS", "Windows 7", "Neznámý"); if((eregi("windows 98", $data)) || (eregi("windows 4.10", $data)) || (eregi("win98", $data))) { $os = "1"; } elseif((eregi("windows 2000", $data)) || (eregi("windows NT 5.0", $data))) { $os = "2"; } elseif((eregi("windows xp", $data)) || (eregi("windows NT 5.1", $data))) { $os = "0"; } elseif(eregi("windows", $data)) { $os = "3"; } elseif(eregi("linux", $data)) { $os = "4"; } elseif(eregi("mac", $data)) { $os = "5"; } elseif(eregi("Windows 7", $data)) { $os = "6"; } else { $os = "7"; } $hlavniradek= FWrite($hlavniradek,"\n <br>Datum a cas: $datum <br>IP: $ip <br>Host: $proma <br>Browser: $prohlizece[$prohlizec] <br>System: $oska[$os] <br>Jinak: $_SERVER[HTTP_USER_AGENT] <hr>"); ?> btw na soubor.htm je důležité mít nastavena práva pro přepisování souboru, jinak ti to vypíše chybu. |
||
Fastman Profil |
#14 · Zasláno: 26. 9. 2010, 09:09:40
Hledám a hledám a nic sem nenašel....nebo sem to nepochopil :( tady ten kód mi moc nepomohl ale i tak dík.
|
||
Fastman Profil |
#15 · Zasláno: 26. 9. 2010, 09:12:14
v tom kódu jsem našel tohle 6;7 řádku:
$ip = getenv("REMOTE_ADDR") ; $data = strtolower($_SERVER["HTTP_USER_AGENT"]); a na 51 řádku bylo <br>IP: $ip takže nevím... |
||
Joker Profil |
#16 · Zasláno: 26. 9. 2010, 09:26:06
Fastman:
Vždyť na tom nic složitého není. Uložení IP do proměnné už se tu snad vyřešilo, no a pak stačí jen tu proměnnou zapsat do souboru pomocí fopen+fwrite, nebo file_put_contents, jak se zmiňuje v [#8] a [#9]. Akorát to pak vytvoří prostě seznam IP adres. V tom prvním příspěvku se ještě píše něco s více stejnými IP, ale nevím, jak to přesně je myšlené. |
||
Časová prodleva: 6 měsíců
|
|||
donald21 Profil |
#17 · Zasláno: 1. 4. 2011, 23:22:38
Použil jsem výše uvedený kód od drvaca, ale ještě bych potřeboval, aby to nezapočítávalo mojí IP. Jsem začátečník, a proto si nevím rady. Prosím poraďte mi, děkuji předem. děkuji předem
|
||
Tori Profil |
#18 · Zasláno: 1. 4. 2011, 23:46:27 · Upravil/a: Tori
donald21:
Tak celý ten kód od drvaca dejte do podmínky if ($_SERVER['REMOTE_ADDR'] != 'moje_ip') Pokud nechcete logovat více než jednu IP, uložte všechny vynechávané IP do pole a koukněte se na funkci in_array. |
||
donald21 Profil |
#19 · Zasláno: 2. 4. 2011, 00:30:23 · Upravil/a: donald21
To mě nenapadlo, ale co teď?
vysledek v souboru je: Datum a cas: 02.04.2011 00:27 IP: ten php skript vypadá takto: <?php $hlavniradek = FOpen("soubor.htm", "a"); $datum = StrFTime("%d.%m.%Y %H:%M", Time()); if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') $ip = getenv("REMOTE_ADDR"); $hlavniradek= FWrite($hlavniradek,"Datum a cas: $datum <br>IP: $ip <br><hr>"); ?> Ip adresu to sice nevypsalo, ale ten zbytek ano, jak to pozměnit, aby se nezapisoval ani datum, IP: ani Datum a cas: ? |
||
Krakatoa Profil |
#20 · Zasláno: 2. 4. 2011, 03:59:02
donald21:
Ten if dej až na zápis do souboru (řádek 10). |
||
donald21 Profil |
#21 · Zasláno: 2. 4. 2011, 10:42:18
Díky moc, už to funguje přesně tak jak chci
|
||
Časová prodleva: 13 let
|
0