![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, chcialbym rozwiazac jeden problem. Dotyczy on dodawania znakow unikowych dla danych w celu ich pozniejszego dodania do bazy. Odbywa sie to w sposob taki, ze w czasie jak wykonam addslashes przy wylaczonym automatycznym dodawaniu i wykonam funkcje echo dla tej zmiennej to widac dodane znaki ucieczki dla niebezpiecznych wpisow. Jednak po dodaniu owej zmiennej do bazy w bazie juz takich znakow nie widac. I tutaj pojawia sie moje pytanie, czy cos robie zle, czy sql robi cos niejawnie. Czy jest to zachowanie, ktorego moglbym sie obawiac. Jezeli w bazie tak to wyglada to czy po wyciagnieciu danych musze opuszczac slashe?
Drugie zapytanie dotyczy nazwy inputow, czy latwo zmienic ich nazwe i wyslac do skryptu. Jesli tak to czy opcja sprawdzania strony z ktorej wystapilo odwolanie bedzie dobrym rozwiazaniem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Weźmy na przykład takie zapytanie:
Jeśli w formularzu zostanie wpisane "no_face" to zapytanie będzie poprawne:
Jeśli w formularzu zostanie wpisane "O'Brian" to zapytanie się posypie:
Wywali błąd wrong syntax near Brian Jeśli w formularzu zostanie wpisane "cos' OR is_admin = 1 -- " to zapytanie będzie wyglądało tak:
Zapytanie zostanie wykonane, niestety ;] Natomiast jeśli weźmiemy taki kod:
To nawet gdy w formularzu zostaną wpisane apostrofy, to zapytanie się nie posypie. Będzie wyglądało tak:
tak:
lub tak:
Ukośnik przed apostrofem to TYLKO INFORMACJA dla MySQLa, że nie należy tego apostrofu traktować jako część zapytania SQL (zakończenie danych tekstowych) tylko jako zwykły tekst (i jako zwykły tekst zapisać do bazy danych) Ten post edytował Kicok 27.02.2007, 14:03:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 03:43 |