![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Wiem do czego funkcja ta służy (IMG:style_emoticons/default/tongue.gif) ale czy warto zawsze jej używać? W przypadku logowania się użytkownika OK jest wręcz konieczna ale jeśli np. łączę się z bazą po to aby pobrać nazwę losowo wybranego obrazka który się później wyświetla to chyba nie ma sensu prawda?
Z tego co wiem funkcja ta ma zapobiec odczytaniu ważnych informacji ale jeśli skrypt łączy się z bazą aby odczytać małe istotne dane jak np. obrazek do którego i tak ma się dostęp to chyba nie ma sensu wykorzystywanie tego typu zabezpieczeń? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Zabezpieczaj wszystkie dane, które pochodzą od użytkownika (czyli najczęściej te wpisane w formularzach). Jeśli samodzielnie podstawiasz dane do zapytań to wymogu takiego nie ma, ale jest to dobrym nawykiem.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Filtrujesz wszystkie dane z formularzy ale również dane z $_SERVER .
Btw. czemy mysql_ a nie mysqli_ czy pdo ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli dobrze mi się wydawało. Funkcji tej trzeba używać przede wszystkim w sytuacji kiedy to użytkownik ma przed sobą formularz
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Funkcji tej używasz gdy:
1. Dane pochodzą ze źródła nad którym nie masz bezpośrednio kontroli. Będą to formularze, dane z innych serwisów czy nawet dane systemowe. 2. Format danych może zawierać potencjalnie niebezpieczne znaki, innymi słowy: jeżeli wcześniej rzutujesz sobie jakąś zmienną na typ całkowity masz gwarancję tego, że jest bezpieczna. Podobnie, gdy zmienna najpierw przechodzi przez jakiś walidator, który przepuszcza tylko znaki a-z i 0-9. Mimo wszystko z reguły za takie "pierdoły" odpowiedzialny jest jakiś automat, który filtruje wszystko co popadnie - bo generuje to marginalne obciążenie, a chroni Cię przed Tobą samym (zawsze możesz się zapomnieć). I tak jak już Spawnm wspomniał - użyj PDO i prepared statements. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam za odgrzebywanie starego tematu, ale mam pytanie związane z tym tematem.
Załóżmy, że użytkownik wprowadza dane do formularza - np. imię i nazwisko. Dane te zapisuję w tabeli TABELA1, oczywiście stosując funkcję mysqli_real_escape_string(). Jeśli chcę teraz pobrać te dane z TABELA1 i zapisać je do TABELA2, to czy po odczytaniu danych z TABELA1, też muszę (powinienem) na tych danych użyć funkcji mysqli_real_escape_string() ? |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jesli po drodze uzywasz php to tak. Jesli zas instert robisz na zasadzie
INSERT INTO... SELECT to nie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:33 |