![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
czytałem conieco w manualu o mysql_real_escape_string (nawet po polsku jest opis:))
jednak jako początkujący webmasjter, niebardzo to rozumiem, więc mam pytanie czy poniższy skrypt jest bezpieczny??
cały ten kod jest pisany "z palca", chce sie tylko dowiedzieć czy takie filtrowanie zmiennych jest bezpieczne, czy to wogóle oto chodzi edit:// jeszcze jedno czy "sprintf" to jest to samo co mysql_query?
Powód edycji: Poprawiłem tytuł tematu. /webdicepl
-------------------- :)
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
mysql_real_escape_string ma za zadanie uchronic przed SQL injection tak wiec wstepnie powyzszy kod jest ok, dlaczego wstepnie? bo dochodzi jeszcze kwestia filtrowania txt na wystepowanie znacznikow html
sprintf służy do formatowania stringa, mysql_query do wykonywania zapytan mySQL:) -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
aha, czyli jak jeszcze te zmienne "przelece" przez htmlspecialchars to będdzie ok?
-------------------- :)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
niom
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
aha, czyli jak jeszcze te zmienne "przelece" przez htmlspecialchars to będdzie ok? tak ale w odpowiedni sposób ![]() -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za linka, ten artykuł rozjaśnił mi conieco sprawe
znalazłem tam takie coś
problem w tym że mam strone na iso-8859-2 , więc ten kod ma wyglądać w ten sposób??
czy może wstarczy napisać poprostu takie coś ![]()
i czy takie coś uchroni mnie zarówno przed html jak i xss? -------------------- :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
jeśli korzystasz z iso to ostatni parametr mozesz pominac, a co do xss to dorzuc do tego strip_tags i powinno byc ok
![]() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
napisałem taką funkcje...
czy jest ona poprawna? -------------------- :)
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
ja używam tego:
Czyli muszę do tego kodu dowalić htmlspecialchars" title="Zobacz w manualu PHP" target="_manual? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie zamierzasz tego nigdy wyświetlać na stronie, to nie. Jeśli zamierzasz, to jednak wypadałoby zabezpieczyć się przed xss.
Z tym że w przypadku magic quotes proponowałabym użyć stripslashes a następnie mysql_real_escape_string. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie zamierzasz tego nigdy wyświetlać na stronie, to nie. Jeśli zamierzasz, to jednak wypadałoby zabezpieczyć się przed xss. Z tym że w przypadku magic quotes proponowałabym użyć stripslashes a następnie mysql_real_escape_string. a do kogo ta odpowiedź ![]() ja mam zabezpieczenie i przed xss htmlspecialchars i mysql_real_escape_stroing -------------------- :)
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie zamierzasz tego nigdy wyświetlać na stronie, to nie. Jeśli zamierzasz, to jednak wypadałoby zabezpieczyć się przed xss. Z tym że w przypadku magic quotes proponowałabym użyć stripslashes a następnie mysql_real_escape_string. Tego kodu używam do filtracji np w logowaniu w pobieraniu loginu, lub w zapytaniach ...WHERE `id`='".sqlesc($_POST['id'])."'); .... Do takich celów starczy? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
@peter13135
Do @robos85. Swoją drogą uważam, że jeśli chcesz użyć mysql_real_escape_string nie ma sensu używać ENT_QUOTES w htmlspecialchars. @robos85 Myślę, że do takiego czegoś starczy spokojnie. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@robos85 Myślę, że do takiego czegoś starczy spokojnie. a jeżeli chciałbym, aby ktoś dodawał mi do bazy tekst - i mógł zamieszczać tam znaczniki to taki kod wystarczy?
czy może w środku powinno być: ? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
w takim razie czy mogłbyś przerobić moją funckje??
bo niewiem jak powinna wyglądać -------------------- :)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
@robos85:
Przy magic_quotes też trzeba się zabepieczyc przed XSS. @peter13135: Funkcja jest OK, ale sądzę, że nie ma sensu łączyć strip_tags() z htmlspecialchars() (w typ przypadpku), jako, że drugie zamienia tobie tagi <> na HTMLowe encje (? zwał jak zwał) i są wtedy one wyświetlane w formie tekstowej (tak jak na tym forum), więc żadne XSS nie ma wtedy prawa bytu. strip_tags() używaj, jeśli chcesz usuwać tagi z wprowadzanego tekstu, zamiast je wyświetlać z htmlspecialchars(). Plus, dla strip_tags() możesz podać listę 'dozwolonych' tagów, np. <b>, <i> oraz <u> są dobrymi przykładami nieszkodliwych tagów. Przykład: Wysyłam komentarz o treści <script>alert('Shackowałem cię!');</script> htmlspecialchars("<script>alert('Shackowałem cię!');</script>"); wyświetli <script>alert('Shackowałem cię!');</script> strip_tags("<script>alert('Shackowałem cię!');</script>"); wyświetli alert('Shackowałem cię!'); Oba są niegroźne, ale wynik różny, prawda? Ten post edytował paziek 11.08.2008, 13:59:24 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
ymm, tak patrze na swój kod i widze coś takiego
[php]$zarejestruj=$_POST['zarejestruj']; $login = htmlspecialchars($_POST['login']); $haslo = htmlspecialchars($_POST['haslo']); $email = htmlspecialchars($_POST['email']); $gg = htmlspecialchars($_POST['gg']); $www = htmlspecialchars($_POST['www']); $skad = htmlspecialchars($_POST['skad']); $zainteresowania = htmlspecialchars($_POST['zainteresowania']); $plec = htmlspecialchars($_POST['plec']); [/php a czy niewystarzy dać htmlspecialchars($_POST) ![]() (dodam że teraz to ja będe je filtrował swoją funkcją zabezpiecz(), ale mniejsza z tym) -------------------- :)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat a czy niewystarzy dać htmlspecialchars($_POST) ? Nie, bo $_POST to tablica, a nie ciąg znaków. Ale możesz zrobić coś podobnego przy zastosowaniu array_map http://pl.php.net/manual/pl/function.array-map.php Ten post edytował paziek 11.08.2008, 14:23:02 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
A co z kolejnością 2ch funkcji - pisałem tutaj - która dobra?
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
1. zrezygnuj ze sprawdzania get_magic_quotes_gpc
2. mysql_real_escape_string (htmlspecialchars($content)) -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:11 |