Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Escapowanie danych., Którymi funkcjami, które dane?
--Havok--
post 22.05.2012, 16:26:32
Post #1





Goście







Witam,

Mam problem z escapowaniem danych, bo nie do końca wiem których funkcji używać w jakich sytuacjach. Także prosiłbym o pomoc w wytłumaczeniu, o ile można smile.gif Z góry dziękuję wszystkim, którzy zechą mi pomóc smile.gif

Znam funkcje: mysql_real_escape_string, htmlspecialchars, strip_tags, addslashes, stripslashes.

Chciałbym udostępnić formularz w którym można coś opisywać z użyciem kilku tagów html (np. b, i, u, kolor, itp.)
a) wysyłanie do bazy tylko z użyciem mysql_real_escape_string? Czy może użycie jeszcze addslashes czy coś?
cool.gif wyciągnięcie z bazy danych i wyświetlenie tego na ekranie - jeżeli nie będę używał addslashes, to nie muszę też używać stripslashes, czy jednak muszę z powodu użycia mysql_real_escape_string?
c) wyświetlenie tych samych danych w innym miejscu z usunięciem wszystkich tagów html. Czy samo strip_tags wystarczy? Co w przypadku, gdy user zapomni o jakimś tagu lub skrypt go nie domknie (np. tinymce)

Prosiłbym o odpowiedzi na pytania, jak i własne rady co najlepiej stosować.

Jeszcze raz dziękuję wszystkim, którzy zechcą mi pomóc smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
viking
post 22.05.2012, 16:33:41
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


PDO + htmlpurifier


--------------------
Go to the top of the page
+Quote Post
--Havok--
post 22.05.2012, 16:54:09
Post #3





Goście







PDO nie umiem, a zewnętrznych, dodatkowych skryptów nie chcę używać. Więcej będą one ważyć, niż cały mój skrypt. A z racji, że jest to bardziej dla początkujących, to wolałbym się jednak dowiedzieć co nieco więcej na temat wymienionych funkcji i ich użytkowania. Nie bez powodu o nich pisałem smile.gif
Go to the top of the page
+Quote Post
viking
post 22.05.2012, 17:06:21
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


To idealny moment żeby się nauczyć, zwłaszcza prepared statements smile.gif Co to znaczy ważyć? Nie przesyłasz tego do przeglądarki żeby to miało jakiekolwiek znaczenie. A lepiej zastosować gotowy, dobry skrypt niż później płakać że lukę mieliśmy.


--------------------
Go to the top of the page
+Quote Post
--Havok--
post 22.05.2012, 17:29:40
Post #5





Goście







Mam zacząć uczyć się czegoś innego nie znając nawet podstawowych sposobów zabezpieczania skryptu? Pomyślane rozwiązanie... Nadal jednak wolałbym, gdyby ktoś mógłby wytłumaczyć różnice i zalecane praktyki odnośnie tych funkcji.
Go to the top of the page
+Quote Post
Niktoś
post 22.05.2012, 17:36:58
Post #6





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ależ tych funkcji(mysql_real_escape_string,stripslashes,addslashes) w PDO już nie używasz.PDO jest zacznie lepsze od protokołów mysql,mysqli.
Więc jak zaczynasz naukę to może ucz się o tym co jest lepsze, tak jak co niektórzy Forumowicze wspominali wcześniej.
Go to the top of the page
+Quote Post
viking
post 22.05.2012, 17:48:25
Post #7





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


I uwierz mi że dla bezpieczeństwa będzie to dużo lepsze niż to co proponujesz. Tu zapomnisz, tam źle użyjesz. Tym bardziej że jak PDO czy klasy źle wykorzystasz dostaniesz wyjątek albo fatal error co najwyżej. I już widzisz jaki masz problem a nawet nie zacząłeś. Przy PDO te wszystkie funkcje wyrzucasz do kosza.

Przy okazji może warto zastanowić się nad textile, markdown.

Ten post edytował viking 22.05.2012, 17:49:32


--------------------
Go to the top of the page
+Quote Post
--Havok--
post 22.05.2012, 18:21:25
Post #8





Goście







Dziękuję za Waszą pomoc, jednak odpowiedzi na swoje pytania nie uzyskałem. Mam nadzieję, że nie macie takiego podejścia do swoich klientów ("Poproszę kawę" - "Podaję herbatę - jest zdrowsza").

Chętnie przeczytam uwagi innych osób na ten temat i na temat funkcji o których chciałem się czegoś więcej dowiedzieć.
Go to the top of the page
+Quote Post
Korab
post 22.05.2012, 18:30:38
Post #9





Grupa: Zarejestrowani
Postów: 202
Pomógł: 36
Dołączył: 10.06.2011
Skąd: Dokąd

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


Pozwolę sobie dodać pytanie od siebie a propos tego tematu: czy funkcja sprintf() wystarczy do "zabezpieczania" zapytań do bazy?
Go to the top of the page
+Quote Post
--Havok--
post 28.05.2012, 13:05:54
Post #10





Goście







A ja pozwolę sobie odświeżyć temat. Może znalazłby się ktoś, kto chciałby to wytłumaczyć?
Go to the top of the page
+Quote Post
IProSoft
post 28.05.2012, 14:21:20
Post #11





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Możesz użyć np :

  1. $dane = strip_tags($dane, "<img><div><span><p><a>");

+

a podczas wyświetlania


Ale tak jak poprzednicy radzę zainteresować się PDO, trochę potrwa zanim się nauczysz ale efekt będzie dużo lepszy.



--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
ciekawskiii
post 28.05.2012, 16:06:58
Post #12





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

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


Denerwujecie z tym PDO i to w wielu tematach a to dzial dla poczatkujacych, rownie dobrze mozecie napisac poczatkujacym zeby napisali portal spolecznosciowy.
PDO jest trudne, zajmuje 2 albo 3 razy wiecej kodu wiec po co ciagle kazecie sie uczyc tego poczatkujacym? Zreszta zadnych zalet w PDO nie widze, wystarczy dobra funkcja do filtrowania danych i jest to samo. Zaleta , ze PDO jest szybsze? Akurat to jest potrzebne komus kto raczkuje w php



--------------------
Go to the top of the page
+Quote Post
IProSoft
post 28.05.2012, 18:10:20
Post #13





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Cytat(ciekawskiii @ 28.05.2012, 17:06:58 ) *
Denerwujecie(...)


Bardzo nie lubię pisać odpowiedzi nic nie wnoszących do tematu ale tym razem pokusa jest wieksza.
Nic nie wnosisz do tematu, nie próbujesz pomóc w żaden sposób więc wydaje mi się, że pisanie takich postów jest trochę nie na miejscu.

Cytat
Akurat to jest potrzebne komus kto raczkuje w php

A czy autor tematu jest ekspertem w tej dziedzinie?


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
k_@_m_i_l
post 28.05.2012, 18:14:46
Post #14





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Dlaczego nie uczyć się czegoś co jest dobre ?
Nikt nie mówił, że programowanie jest łatwe. A jak ktoś chce iść na łatwiznę i pomijać pewne kwestie, to niech odpuści sobie zabezpieczanie aplikacji, bo nie ma rzeczy których nie da się złamać. Pdo Cię dużo lepiej zabezpieczy przed potencjalnym zagrożeniem.
Więc to "Wy - przeciwnicy pdo" narzekacie, że ktoś Wam każe uczyć się czegoś trudnego.
Prędzej czy później przyjdzie chwila, że będziesz musiał użyć pdo i sam zobaczysz ile to dobrego wnosi.
I pomyślisz sobie: "Jaki głupi byłem, mogłem się tego pdo uczyć od razu" biggrin.gif

Poza tym, polecam do nauki pdo:
http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO
http://webhelp.pl/artykuly/obsluga-baz-danych-za-pomoca-pdo/

Ale jak tak bardzo chcesz o tym filtrowaniu danych, to poczytaj to:
Temat: SQL Injection Insertion
Temat: Bezpieczenstwo skryptow PHP


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
ciekawskiii
post 28.05.2012, 18:29:41
Post #15





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

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


Co niby dobrego wnosi PDO? nie widze zalet jak juz pisalem.
Duzo lepiej zabezpieczy przed zagrozeniami? w zaden sposob.

A co do nic nie wnoszenia do tematu - odsylanie do nauki PDO tez nic nie wnosi do tematu.


--------------------
Go to the top of the page
+Quote Post
k_@_m_i_l
post 28.05.2012, 18:59:13
Post #16





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Jak pdo tak bardzo gryzie to polecam:
http://www.slideshare.net/kkotowicz/owasp-sql-injection


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
Rysh
post 28.05.2012, 21:06:52
Post #17





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Dajcie spokój chłopak ma pewnie na serwerze jakieś PHP 3, dlatego pyta o takie metody smile.gif


--------------------
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 02:16