Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 360 Pomógł: 34 Dołączył: 20.08.2011 Ostrzeżenie: (0%)
|
Witam, mam pytanie odnośnie umieszczenia w .htaccess:
Przeczytałem różne artykuły gdzie albo piszą żeby włączyć lub wyłączyć. W swoim cms mam pola, w których wpisujemy na przykład "Opis zakładki" i obecnie mam zrobione to tak, że jak wpiszę "World's" to otrzymuje komunikat "Nie udało się zaktualizować zakładki". Wszystko fajnie, ale chcę jakby umożliwić wstawianie tych znaków w treść. Więc w .htaccess wstawiłem wspomnianą linię kodu i wszystko na pierwszy rzut oka działa świetnie. Moje pytanie, jakie są minusy korzystania z takiej funkcji ? Czy ma to jakiś wpływ na bezpieczeństwo, poprawność takiego CMS'a, kodu ? Moje przykładowe wysłanie zapytania do bazy wygląda teraz tak + to co wyżej w .htaccess:
Chciałem Was zapytać ponieważ jak dla mnie wygląda to wszystko dobrze bo osiągnąłem to co chciałem, ale właśnie czy nie idę po trupach do celu (IMG:style_emoticons/default/wstydnis.gif) Ten post edytował Mega_88 23.10.2012, 19:23:02 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%)
|
http://php.net/manual/en/security.magicquotes.php
Nie bez powodu w PHP 5.4 zostało to usunięte. Tak więc powinno to być wyłączone. Problem z magicquotes jest taki, że działa to praktycznie wszędzie, a czasami nie chcesz by to zadziałało czyli escapowało niektóre znaki. I wtedy musisz się bawić w robienie stripslashes. Tak więc włączenie tego ma w sumie więcej wad niż zalet. Ponadto, kod SQL który podałeś jest podatny na SQL injection. Dodatkowo nie powinno się już używać mysql_query tylko mysqli albo jeszcze lepiej PDO. Np w PDO można używać prepared statements które zajmą się odpowiednim przekazaniem danych do treści zapytania, zabezpieczą przed SQL injection. Ogólnie mógłbyś w podanym wyżej zapytaniu używać mysql_real_escape_string do escaping'owania znaków. Ale tak jak już wspomniałem nie jest to zalecane. Ten post edytował jaslanin 23.10.2012, 21:16:47 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%)
|
|
|
|
|
| -lukasamd- |
Post
#4
|
|
Goście |
Słowem: najlepiej to wyłączać zawsze i wszędzie, np. z poziomu jakiegoś naszego pliku konfiguracyjnego skryptu / CMSa / itd..
Z włączonym stajemy się bardziej zależni od konfiguracji i musimy tego pilnować. Lepiej pilnować zawartości zmiennych bez takich "automatycznych parasoli". @jaslanin: Dlaczego podatny? Nie wiemy co wcześniej działo się z $tytul. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%)
|
@lukasamd:
1. Autor tematu nie wydaje się zaznajomiony z tematyką bezpieczeństwa. 2. Kod SQL sugeruje, że dane pochodzą od użytkownika. 3. Wstawianie zmiennych w kod SQL nie jest dobrą praktyką i zawsze wywołuje alarm w głowie kogoś kto miał styczność z kodem o niskiej jakości. W większości przypadków bowiem jest to związane z problemami z SQL injection. |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 13:51 |