Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [DIY][PHP]funkcja sprintf(), Zabezpieczenie zapytania SQL
XhtmlProject
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 11.11.2005
Skąd: RuskieJaKraina

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


Witajcie.
Pytanie bardzo krótkie - jak mogę zabezpieczyć takie zapytanie:

  1. $query = "INSERT INTO b (a, b, c, d, e, f)
  2. VALUES ('$a', '$b', '$c', '$d', '$e', NOW())";



W okolicznościach bardziej mi znanych używam jej następująco:

  1. $query = sprintf("SELECT a FROM b WHERE c = '%s' ",
  2. mysql_real_escape_string($zmienna));


z góry wielkie dzięki.
Powód edycji: [thek]: Bo na to temat zasługuje z racji podejścia autora.


--------------------
Flash
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


http://pl.php.net/manual/en/pdo.prepared-statements.php
Go to the top of the page
+Quote Post
XhtmlProject
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 11.11.2005
Skąd: RuskieJaKraina

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


Cytat(Crozin @ 22.06.2011, 01:59:54 ) *


W moim pytaniu nigdzie nie mogę się doszukać "poproszę o odnośnik do strony na której .... .. . . ." offtopic.gif
Sorry ale za wklejanie odnośników nie naciskam "Pomógł" zakładam że idąc na łatwiznę na to właśnie liczyłeś .. ... . Niestety ..

Hołewer - odpowiedź już mam.

  1. $query = sprintf("INSERT INTO individuals (username, email) VALUES ('%s', '%s')",


Ten post edytował XhtmlProject 22.06.2011, 12:12:21


--------------------
Flash
Go to the top of the page
+Quote Post
Mackos
post
Post #4





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Cytat(XhtmlProject @ 22.06.2011, 12:56:01 ) *
W moim pytaniu nigdzie nie mogę się doszukać "poproszę o odnośnik do strony na której .... .. . . ." offtopic.gif
Sorry ale za wklejanie odnośników nie naciskam "Pomógł" zakładam że idąc na łatwiznę na to właśnie liczyłeś .. ... . Niestety ..


I tu się niestety mylisz.
To co Ci wysłał crozin, to była pełna odpowiedź na Twoje pytanie, że nie chce Ci się wejść w link i poczytać
to już twoja sprawa.
Ale z bulwersem jeszcze do osoby która Ci pomaga... to już nietakt.


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Ale z bulwersem jeszcze do osoby która Ci pomaga... to już nietakt.
Niesamowicie łagodnie to nazwałeś - nadajesz się na dyplomatę wink.gif Zachowanie XhtmlProject zasługuje na bardziej dosadne określenie.

Cytat
Sorry ale za wklejanie odnośników nie naciskam "Pomógł"
Litości...
Cytat
Hołewer
Litości x 2 ....
Całokształt : litości x 3

ps: funkcja sprinf nie ma żadnego związku zabezpieczaniem zapytania.
Nie bulwersuj się więc na przyszłość, jak nie rozumiesz bardziej doświadczonych użytkowników, tylko albo ich wysłuchaj i spróbuj zrozumieć ewentualnie dopytaj, albo przemilcz sprawę i miej nadzieję, że jak "podrośniesz" to zrozumiesz
A już tym bardziej nie posądzaj innych, że lecą na Twoje żałosne POMOGŁ.
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
XhtmlProject
post
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 11.11.2005
Skąd: RuskieJaKraina

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


To nie ma znaczenia .. To jest forum - nie mylcie go z wyszukiwarką GOOGLE ...
Odnośników mogę sobie poszukać przez Google - na forum liczę "jak większość jego Użytkowników" na pomoc w postaci przykładu.

Wklejenie odnośnika jest czystym LENISTWEM .. Podałem konkretny przykład, liczę na pomoc.

Pomijając ..

Wobec danych liczbowym i dat można używać neutralizujących funkcji sprintf() czy mysql_real_escape_string() jako zabezpieczenia zapytań.
Dzięki temu interpreter PHP zrzutuje ciąg znaków na typ całkowitoliczbowy przy '%d' następnie dołączy wynik rzutowania do zapytania.

Można pisać więcej . Tylko po co .. thumbsdownsmileyanim.gif


--------------------
Flash
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Cytat(XhtmlProject @ 22.06.2011, 14:53:25 ) *
To nie ma znaczenia .. To jest forum - nie mylcie go z wyszukiwarką GOOGLE ...
Odnośników mogę sobie poszukać przez Google - na forum liczę "jak większość jego Użytkowników" na pomoc w postaci przykładu.

Wątpię, żeby Google na Twoje pytanie zwróciło Ci linka do metody PDO.
Google szuka po frazach, a nie odpowiada na pytania.

Pomijając ten fakt to jeśli Crozin Ci zaproponował konkretne rozwiązanie, opisane na podanej przez niego stronie to wg Ciebie powinien zaznaczyć całą stronę i skopiować ją tu na forum, żeby mógł liczyć na Twoje "POMÓGŁ"?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To nie ma znaczenia .. To jest forum - nie mylcie go z wyszukiwarką GOOGLE ...
Odnośników mogę sobie poszukać przez Google - na forum liczę "jak większość jego Użytkowników" na pomoc w postaci przykładu.

Wklejenie odnośnika jest czystym LENISTWEM .. Podałem konkretny przykład, liczę na pomoc.
Litości x 4 tongue.gif
Crozin podał ci linka do rozwiązania. To nie było lenistwem, to była pomoc. Crozin nie zachował się jak google.
Jeśli tego nie rozumiesz - kłócić się z Tobą nie będę. Uczciwie cię jednak ostrzegam, że następnym razem zostanie ci to "nagrodzone".

Cytat
Wobec danych liczbowym i dat można używać neutralizujących funkcji sprintf()
Powtarzam to co napisałem wcześniej: sprinf nie ma nic do zabezpieczeń zapytań a już napewno nie na przykładzie który pokazałeś.

Cytat
Dzięki temu interpreter PHP zrzutuje ciąg znaków na typ całkowitoliczbowy przy '%d' następnie dołączy wynik rzutowania do zapytania.
Tak, w tym sensie ma. Niestety w przykładzie miałeś inny sens, który akurat do zabezpieczenia miał się nijak. Za to "straszny" link, który podał Crozin miał dużo wspolnego z zabezpieczaniem.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
XhtmlProject
post
Post #9





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 11.11.2005
Skąd: RuskieJaKraina

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


Cytat(nospor @ 22.06.2011, 15:01:06 ) *
Litości x 4 tongue.gif
Crozin podał ci linka do rozwiązania. To nie było lenistwem, to była pomoc. Crozin nie zachował się jak google.
Jeśli tego nie rozumiesz - kłócić się z Tobą nie będę. Uczciwie cię jednak ostrzegam, że następnym razem zostanie ci to "nagrodzone".

Powtarzam to co napisałem wcześniej: sprinf nie ma nic do zabezpieczeń zapytań a już napewno nie na przykładzie który pokazałeś.

Tak, w tym sensie ma. Niestety w przykładzie miałeś inny sens, który akurat do zabezpieczenia miał się nijak. Za to "straszny" link, który podał Crozin miał dużo wspolnego z zabezpieczaniem.


Dobra, poziom obrony 4 latka - w tym sens miał, w tamtym nie miał - w innym może by miał ale przykład był inny więc nie miał sensu ...
Odsyłam raz jeszcze do mojej odpowiedzi.

Pozdrowienia i życzę zmiany sposobu myślenia przy moderacji działu ..


--------------------
Flash
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zgodnie z pewnym powiedzeniem, umywam sie od dalszej dyskusji, bo faktycznie nie ma sensu. Sprawa wyjaśniona, sam sobie udzieliłeś odpowiedzi i to już w poście w którym pytałeś, naprawdę nie wiem po co pisałeś...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
thek
post
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A ja, abstrahując kompletnie od tego co już napisano, zwróciłbym uwagę, że wpisanie w wyszukiwarce: sql injection prevent, jest niewiarygodnie trudnym wysiłkiem umysłowo-fizycznym (bo trzeba wpisać, klikać, a potem jeszcze czytać i zrozumieć wink.gif ). Nie wspominając nawet faktu, że w dziale PHP stoi jak byk przypięty wątek SQL Injection/Insertion mający całe 18 stron postów. Dlatego moim zdaniem jakiekolwiek pretensje to może mieć autor do siebie a nie kogokolwiek. Ani nie uzył wyszukiwarki netowej, ani tej na forum. Dlatego chrzanić to... Zgodnie z przysługującymi mi uprawnieniami watek opatrzam tagiem [DIY] i zamykam, bo na to jak najbardziej zasłużył.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:10