Marcin
Huta
IT Developer,
Performance Testing,
Administrator
systemów IT
konto usunięte
Temat: Zabezpieczenie pola?
polecam poczytac o regular expressions...temat rzeka...
Na poczatek znajdz sobie na necie funkcje makeSafe dla PHP i sie upewnij by kazda zmienna ktora idzie do bazy danych najpierw przez nia przechodzila.
Marcin
Huta
IT Developer,
Performance Testing,
Administrator
systemów IT
Temat: Zabezpieczenie pola?
Andrzej, Dziękuje za odp. Poszukam po necie i zobaczymy co wyjdzie.konto usunięte
Temat: Zabezpieczenie pola?
Zamiast kombinować z jakimiś dziwnymi funkcjami filtrującymi to można użyć PDO i prepared statements.Kamil Brenk edytował(a) ten post dnia 12.08.10 o godzinie 11:08konto usunięte
Temat: Zabezpieczenie pola?
regexpy są bardzo fajne, Marcinie ;)i wielce przydatne.
http://www.google.pl/search?hl=pl&source=hp&q=kurs+reg...
konto usunięte
Temat: Zabezpieczenie pola?
http://pl2.php.net/filter - praktycznie 100% odpowiedz na pytanie : - )Tomasz Zadora programuję
Temat: Zabezpieczenie pola?
Zdarzają się jednak sytuacje, że PDO nie jest zainstalowane, nie zawsze jest w danym projekcie do dyspozycji cały serwer dedykowany lub VPS, gdzie można sobie konfigurować PHP, tylko jakiś pośledniejszy hosting.Czyli, w sytuacji jak mamy funkcje "mysql_*" a nie "mysqli_*", wtedy, zanim wstawimy coś do bazy, skasujemy, lub wybierzemy warto daną wartość przefiltrować przez funkcję http://php.net/manual/pl/function.mysql-escape-string.php lub http://php.net/manual/pl/function.mysql-real-escape-st... - ta druga jest lepsza.Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 01:14
konto usunięte
Temat: Zabezpieczenie pola?
Tomasz Zadora:mysqli jest domyślnie wbudowane od PHP 5.0, PDO od wersji PHP 5.1, filter od PHP 5.2. Jeśli ktoś ma na hostingu nadal PHP 4 to niech zmieni hosting.
Zdarzają się jednak sytuacje, że PDO nie jest zainstalowane, nie zawsze jest w danym projekcie do dyspozycji cały serwer dedykowany lub VPS, gdzie można sobie konfigurować PHP, tylko jakiś pośledniejszy hosting.
Czyli, w sytuacji jak mamy funkcje "mysql_*" a nie "mysqli_*", wtedy, zanim wstawimy coś do bazy, skasujemy, lub wybierzemy warto daną wartość przefiltrować przez funkcję http://php.net/manual/pl/function.mysql-escape-string.php lub http://php.net/manual/pl/function.mysql-real-escape-st... - ta druga jest lepsza.Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 01:14
Arkadiusz K. web
Marcin
Huta
IT Developer,
Performance Testing,
Administrator
systemów IT
Temat: Zabezpieczenie pola?
Dziękuje za wszelkie uwagi i sugestie, które będę testował podczas pisania kodu. Przy okazji jeszcze zapytam o mechanizmy logowania. Jakieś sprawdzone przykłady? schemat działania: Zalogowanie -> Wykonanie akcji np. dodanie wpisu na stronie -> wylogowanie.Tomasz Zadora programuję
Temat: Zabezpieczenie pola?
mysqli jest domyślnie wbudowane od PHP 5.0, PDO od wersji PHP 5.1, filter od > PHP 5.2. Jeśli ktoś ma na hostingu nadal PHP 4 to niech zmieni hosting.
Powiedz to klientowi który ma stary duży system na PHP 4 i nie chce płacić za jego przerobienie na php 5 :) Myślisz, że zapłaci 20 tys tylko po to żeby mieć "jakieś" PDO ? ;-)
Natomiast przyznaje, że nie wiedziałem iż PDO jest domyślnie instalowane w 5tce, bo zwyczajnie z niego nie korzystam - daje za mało możliwości, jeżeli chodzi o zaawansowane funkcje w MySQL, wolę korzystać z samego mysqli.Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 11:05
Tomasz Zadora programuję
Temat: Zabezpieczenie pola?
Marcin Huta:
Dziękuje za wszelkie uwagi i sugestie, które będę testował podczas pisania kodu. Przy okazji jeszcze zapytam o mechanizmy logowania. Jakieś sprawdzone przykłady? schemat działania: Zalogowanie -> Wykonanie akcji np. dodanie wpisu na stronie -> wylogowanie.
Możesz np. stworzyć sobie klasę obsługującą logowanie, do ponownego używania w kolejnych projektach.
Klasa może posiadać takie właściwości jak nazwa tabeli SQL na dane użytkowników, nazwy kolumn przechowujące login/hasło, znacznik czy użytkownik ma prawo się zalogować (konto zablokowane: nie/tak), czy potwierdził rejestrację etc.
Proste metody typu:
logIn(userName, password, connection) - zalogowanie, po udanym dodanie do sesji PHP znacznika, że użytkownik jest zalogowany (+ np. klucz podstawowy z tabeli)
logOut() - wylogowanie
isLoggedIn() - odpowiada na pytanie czy użytkownik jest zalogowany (sprawdza sesję)
getDataFromDB(connection) - pobranie aktualnych danych użytkownika z tabeli SQL na użytkowników
etc. Można to rozbudowywać, można zrobić inaczej.
konto usunięte
Temat: Zabezpieczenie pola?
Tomasz Zadora:PHP 5 ma zapewnioną zgodność wsteczną. Możemy więc mieć serwis napisany w oparciu o PHP 4 i uruchomić go na PHP 5, dodając funkcjonalność z PHP 5 (filter, pdo). Dopiero od PHP 5.3 zaczyna być olewana zgodność wsteczna (na szczęście), o czym ostatnio trochę się mówiło.
Powiedz to klientowi który ma stary duży system na PHP 4 i nie chce płacić za jego przerobienie na php 5 :) Myślisz, że zapłaci 20 tys tylko po to żeby mieć "jakieś" PDO ? ;-)
Tomasz Zadora programuję
Temat: Zabezpieczenie pola?
Kamil Brenk:
PHP 5 ma zapewnioną zgodność wsteczną. Możemy więc mieć serwis napisany w oparciu o PHP 4 i uruchomić go na PHP 5, dodając funkcjonalność z PHP 5 (filter, pdo). Dopiero od PHP 5.3 zaczyna być olewana zgodność wsteczna (na szczęście), o czym ostatnio trochę się mówiło.
Niestety to nie jest prawda, wiele funkcji w PHP 5 działa inaczej niż w PHP 4. Nie ma 100% zgodności.
Przykład dyskusji na ten temat:
http://www.webmaster-talk.com/php-forum/78717-differen...
Słowa kluczowe do google na ten temat: "php 4 php 5 differences"
PS. proponuje nie kontynuować offtopa.Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 16:02
konto usunięte
Temat: Zabezpieczenie pola?
Tomasz Zadora:Tak, wiadomo, że PHP4 działa inaczej niż PHP5 - dodano wiele nowych funkcji, poprawiono obiektówkę, zintegrowano kilka bibliotek PECL z silnikiem PHP, zrobione jeszcze sto innych rzeczy.
Kamil Brenk:
PHP 5 ma zapewnioną zgodność wsteczną. Możemy więc mieć serwis napisany w oparciu o PHP 4 i uruchomić go na PHP 5, dodając funkcjonalność z PHP 5 (filter, pdo). Dopiero od PHP 5.3 zaczyna być olewana zgodność wsteczna (na szczęście), o czym ostatnio trochę się mówiło.
Niestety to nie jest prawda, wiele funkcji w PHP 5 działa inaczej niż w PHP 4. Nie ma 100% zgodności.
Przykład dyskusji na ten temat:
http://www.webmaster-talk.com/php-forum/78717-differen...
Słowa kluczowe do google na ten temat: "php 4 php 5 differences"
PS. proponuje nie kontynuować offtopa.Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 16:02
Niemniej jednak jest zapewniona zgodność wsteczna i wszystko to co w PHP4 działało, powinno też zadziałać w PHP5.
Pozdrawiam
Tomasz Zadora programuję
Temat: Zabezpieczenie pola?
Widzisz, nie czytałeś artykułu na forum do którego dałem link wcześniej:"PHP5 for the most part is backwards compatible with PHP4, but there are a couple key changes that might break your PHP4 script in a PHP5 environment."
albo:
"The above code fragment was common in PHP4. If you needed to duplicate an object, you simply copied it by assigning it to another variable. But in PHP5 you must use the new clone keyword."
Upierasz się przy swoim (nie ma to jak iść w zaparte), zapewne też nigdy nie przerabiałeś większego systemu PHP 4 na PHP 5.
Dla mnie to koniec dyskusji :)Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 16:52
konto usunięte
Temat: Zabezpieczenie pola?
Tomasz Zadora:Cokolwiek nie powiesz kolego... dla niektórych to będzie problemem, dla innych to żaden problem :-) ale co ja tam mogę wiedzieć, jestem młody i się nie znam - nie przerabiałem większego systemu PHP 4 na PHP 5. :-)
Widzisz, nie czytałeś artykułu na forum do którego dałem link wcześniej:
"PHP5 for the most part is backwards compatible with PHP4, but there are a couple key changes that might break your PHP4 script in a PHP5 environment."
albo:
"The above code fragment was common in PHP4. If you needed to duplicate an object, you simply copied it by assigning it to another variable. But in PHP5 you must use the new clone keyword."
Upierasz się przy swoim (nie ma to jak iść w zaparte), zapewne też nigdy nie przerabiałeś większego systemu PHP 4 na PHP 5.
Dla mnie to koniec dyskusji :)Tomasz Zadora edytował(a) ten post dnia 13.08.10 o godzinie 16:52
Również pozdrawiam.
Podobne tematy
-
PHP » Dzwina wartośc stringa z pola MEMO w Firebirdzie -
-
PHP » Odczyt z "pola tekstowego" - poczatkujący -
-
PHP » [PHP][Wyrażenie regularne] Pobranie wartości z value pola... -
-
PHP » Problem z przesłaniem kliku pól checkbox do pola bazy sql -
-
PHP » Pobieranie pola Mail z przycisku odpisz do formularza htm. -
-
PHP » Zabezpieczenie formularza przed proxy -
-
PHP » Zabezpieczenie przed SQL Injection -
-
PHP » Zabezpieczenie formularza -
-
PHP » Zabezpieczenie przed zgrywaniem plików -
-
PHP » Zabezpieczenie wykorzystania napisanej strony dla... -
Następna dyskusja: