![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cześć mam pytanie. Na ile skuteczne jest stosowanie mysqli_real_escape_string przed zapisem do bazy wartości tekstowej do pola TEXT lub VARCHAR?
Wszelkie maile lub jakiekolwiek wartości liczbowe czy schematyczne sprawdzam wyrażeniami regularnymi lub jeśli jest możliwość i nie trzeba korzystać z regularnych to na inne sposoby ale są to sposoby dość pewne. Np ma być liczba to sprawdzam czy jest to po prostu liczba. Mam jednak wątpliwości co do bezpieczeństwa zapisywania tekstu. Np komentarze, artykuły, księga wpisów itp gdzie użytkownik nie może mieć zbyt wielu ograniczeń. Używam wtedy najczęściej: I tutaj pytanie czy to wystarczy? Jeśli nie wystarczy to co można tutaj jeszcze zastosować? Pozdr. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Najważniejsze jest chyba podsumowanie:
Cytat If you: - Use Modern Versions of MySQL (late 5.1, all 5.5, 5.6, etc) OR - Use mysql_set_charset() / $mysqli->set_charset() OR - Use the DSN charset parameter to PDO OR - Don't use GBK or BIG-5 (you only use UTF-8 / UCS-2 / Latin-1 / ASCII) You're 100% safe. If all of those are false, you're vulnerable even though you're using mysql_real_escape_string()... W wolnym tłumaczeniu: Cytat Jeśli:
- używasz nowych wersji MySQL (późna 5.1, wszystkie 5.5, 5.6 itd) LUB - używasz mysql_set_charset() / $mysqli->set_charset() LUB - przy użyciu PDO używasz parametru "charset" w DSN LUB - nie używasz GBK / BIG-5 (używasz tylko UTF-8 / UCS-2 / Latin-1 / ASCII) Jesteś w 100% bezpieczny. Jeśli żaden z powyższych warunków nie jest prawdziwy, jesteś narażony na SQL Injection. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 07:27 |