![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przeglądając sobie bazę własnoręcznie zbudowanego modułu zadziwiła mnie jedna rzecz. Do bazy danych pobieram od każdego użytkownika IP i datę, kiedy wysłał formularz. Wszystkie rekordy są poprawne, po za jednym, gdzie ktoś sobie ustawił IP na własne oraz datę ustawił jako napis tekstowy. Jak to można zrobić? Jak to jest w ogóle możliwe? Czy to zmiana ustawienia komputera czy coś wspólnego z SQL injection? A jeżeli SQL injection to potrzebna jest nazwa zmiennej bądź nazwa tabeli w bazie? Ten post edytował benzulli 13.04.2014, 21:50:47 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat PDO to przerost formy nad treścią, używaj mysqli, prostsza składnia (niemal to samo co mysql) i wygodniejsza w używaniu. To ze nie umiesz uzywac i nie rozumiesz o co biega, nie znaczy ze to przerost formy nad trescia (IMG:style_emoticons/default/wink.gif) Cytat Druga jeżeli pole ma zawsze dzisiejszą datę to po czorta ładujesz ją tutaj a nie w samym zapytaniu bezpośrednio? A po czorta w ogole ją generowac w php? zamiast twojego data='".date("Y-m-d H:i:s")."'" mozna zrobic tak: data=now() Cytat Sam sobie tym przekazywaniem robisz krzywdę. Dziwie się że jeszcze portal stoi bo zrobić na tym SQL INJECTION to dziecinada No niestety twoj kod tez jest podatny na sqlinjection... o prosze, tutaj:Staraj się dane parsować zawsze przez funkcję real_escape_string o której poczytasz sobie w manualach i która jest podstawą zabezpieczenia przed SQL INJECTION. ip='".$_SERVER['REMOTE_ADDR']."' albo tutaj: $_SERVER['HTTP_REFERER']; , wg. Twojego pozniejszego pomyslu |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:53 |