![]() |
![]() |
![]()
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%) ![]() ![]() |
Cytat 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. Według ciebie to źle, że ich nie widać? Jeśli tak, to poczytaj podczepiony temat o SQL Injection, żeby się dowiedzieć co to w ogóle jest i na jakiej zasadzie działa. Bo z tego co widzę to na razie wiesz tylko, że "trzeba używać addslashes() żeby było bezpieczniej" ;] Cytat Jezeli w bazie tak to wyglada to czy po wyciagnieciu danych musze opuszczac slashe? nie Ten post edytował Kicok 26.02.2007, 17:04:27 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie przesadzajmy. Temat wskazany przez Ciebie juz jakis czas temu czytalem. Wydaje mi sie ze odpowiedzi na dokladnie te pytanie tam nie widzialem. Chodzi mi tylko o ten maly mankament. Jak to wyglada, pomijajac pewne wiadome:
$wejscie = addslashes(post); echo $wejscie; //widac znaki unikowe query(dodaje do bazy $wejscie); w tej chwili jak zajrze bezposrednio do bazy to owych znakow nie widac (/). Chodzi mi tylko o to czy w tym konkretnym przypadku jest cos nie tak, czy wrecz przeciwnie, nie musze sie bac takiego zachowania. Cytat 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
#4
|
|
![]() 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 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki, wlasnie takiej odpowiedzi szukalem.
A drgie pytanko, moge liczyc na opowiedz? Cytat 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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:56 |