Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]IP, Host i Przeglądarka w polu formularza
ReBeLs513
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


Szukałem skryptu do pokazania hosta, ip i przeglądarki uzytkownika. To wszysttko chciałemumieścić w formularz:

<input type="hidden" name="IP" value="<? echo $_SERVER['REMOTE_ADDR'] ?>">
<input type="hidden" name="Host" value="<? gethostbyaddr($_SERVER['REMOTE_ADDR']) ?>">
<input type="hidden" name="Przeglądarka" value="<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>">

Taki sposób nie działa... Błędny kod??


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Tak; powinno być w ten sposób:

  1. ... value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" ...
  2. ... value="<?php echo gethostbyaddr($_SERVER['REMOTE_ADDR']); ?>" ...
  3. ... value="<?php echo $_SERVER['HTTP_USER_AGENT']; ?>" ...


Zapomniałeś o kilku średnikach... wink.gif

Tak by the way; poczytaj o możliwości edycji pól hidden i disabled za pomocą kodu JS.
Te pola użytkownik może sobie sam edytować, a tego byś chyba nie chciał...

Ten post edytował modern-web 12.04.2011, 14:49:10


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Kod
<input type="hidden" name="IP" value="<?=$_SERVER['REMOTE_ADDR'] ?>">
<input type="hidden" name="Host" value="<?=gethostbyaddr($_SERVER['REMOTE_ADDR']) ?>">
<input type="hidden" name="Przeglądarka" value="<?=$_SERVER["HTTP_USER_AGENT"] ?>">

Go to the top of the page
+Quote Post
krzystyn
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 2.04.2011

Ostrzeżenie: (0%)
-----


Cytat(modern-web @ 12.04.2011, 15:46:31 ) *
Tak; powinno być w ten sposób:

  1. ... value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" ...
  2. ... value="<?php echo gethostbyaddr($_SERVER['REMOTE_ADDR']); ?>" ...
  3. ... value="<?php echo $_SERVER['HTTP_USER_AGENT']; ?>" ...


Zapomniałeś o kilku średnikach... wink.gif

Tak by the way; poczytaj o możliwości edycji pól hidden i disabled za pomocą kodu JS.
Te pola użytkownik może sobie sam edytować, a tego byś chyba nie chciał...

a jak to mozna zabezpieczyc?
Go to the top of the page
+Quote Post
modern-web
post
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


W zasadzie wszystko co dotyczy js i html użytkownik może dowolnie edytować u siebie w przeglądarce więc potrzebujesz zabezpieczenia po stronie serwera.
Jeśli jest to formularz kontaktowy który wysyła te dane mailem to sugerowałbym zastosowanie tych pól tylko do wyświetlenia owych danych użytkownikowi, a przesyłanie tych 3 wartości (IP, Host i Przegladarka) bezpośrednio z skryptu PHP.

Podsumowując:
Nie odbieraj z formularza do skryptu tych 3 wartości tylko odczytaj je od użytkownika na nowo, bo wszystko co zostanie odebrane z formularza może być fałszywe - nawet dane z pól disabled i hidden.

Przeczytaj jeśli jesteś zainteresowany jak działa omijanie zabezpieczeń hidden i disabled:

http://mynthon.net/howto/-/JavaScript%20-%...%20readonly.txt

Pozdrawiam!

Ten post edytował modern-web 12.04.2011, 14:57:39


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
bastard13
post
Post #6





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tylko mam jedno pytanie, po co dodajesz do formularza pola z tymi wartościami skoro zawsze będziesz je mógł pobrać w skrypcie obsługującym formularz.
Te wartości każdy kto ma jakiekolwiek pojęcie o firebugu będzie mógł zmienić i wysłać co innego.


--------------------
Go to the top of the page
+Quote Post
modern-web
post
Post #7





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


@up
Ma swoje powody. Też to praktykuję w prostym celu - by uświadomić internaucie, że nie jest anonimowy. Pełni to tylko rolę informacyjną...


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
bastard13
post
Post #8





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Zgadzam się, że informacja może się przydać użytkownikowi, ale to są pola typu hidden, więc przypuszczam, że założenie jest takie, żeby użytkownik ich nie zobaczyłsmile.gif


--------------------
Go to the top of the page
+Quote Post
modern-web
post
Post #9





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


(fakt ;D)
Ja mówiłem o readonly i disabled ;p
Ale faktycznie; masz rację... hidden tutaj nie ma zastosowania


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #10





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


Przy formularzu jest info o nieanonimowości. A nawet jeśli zmieni dane to nie zmieni statystyk:-) Bo dla mnie ochrona od serwera to czarna magia:D


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
modern-web
post
Post #11





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Niewiele osób czyta to co jest nad/pod formularzem.
Lepiej na przykładzie im to zaprezentować - jak zobaczą swoje IP i hosta stwierdzą, że jak zaczną się wygłupiać zablokujesz ich po IP albo zgłosisz na policję i będą mieli przesrane wink.gif (ale to w skrajnych przypadkach gdy wystąpi np. groźba).
Niektórzy będą chcieli zmienić zawartość tych pól dlatego warto przekazywać dane prosto ze skryptu; a nie formularza.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #12





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


Czyli czas otworzyć nowy temat lol:D


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
modern-web
post
Post #13





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Jak uważasz wink.gif
Nie zmieniajmy tematu tego tematu ^


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #14





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


hmmm...
Jak nie w formularzu to w skrypcie go wysylajacym
  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'mail@host.domena'; // Adres e-mail adresata
  6. $subject = 'Temat'; // Temat listu
  7. $message = 'Wiadomosc wyslana'; // Komunikat
  8. $error = 'Wystąpił błąd, spróbuj ponownie.'; // Komunikat błędu
  9. $charset = 'windows-1250'; // Strona kodowa
  10. //////////////////////////////
  11.  
  12. $head =
  13. "From: $_POST[Email]\r\n" .
  14. "MIME-Version: 1.0\r\n" .
  15. "Content-Type: text/plain; charset=$charset\r\n" .
  16. "Content-Transfer-Encoding: 8bit";
  17. $body = '';
  18.  
  19. foreach ($_POST as $name => $value)
  20. if (!empty($value))
  21. $body .= "$name: " . (get_magic_quotes_gpc() ? stripslashes($value) :
  22.  
  23. $value) . "\r\n";
  24.  
  25. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head)
  26.  
  27. ? $message : $error;
  28.  
  29. }
  30. else
  31. {
  32. ?>

Tylko gdzie te ip itd. wstawić?Próbowałem w body, pod charset ale to nie to...


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 12:55