![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam kilka pytań odnośnie tablicy $_GET
1. Czy takie coś jest bezpieczne:
2. Robię mini cmsa i mam w pliku index.php takie coś jak wyżej i w miejscu gdzie mam content ładuje pliki z $_GET - to dobre rozwiązanie? 3. Mam na stronie podstronę artykuły i każdy artykuł ma swoje id i po wejściu np. w index.php?page=articles&id=2 ładuję artykuł z bazy danych mysql, a zabezpieczam tak: jeszcze sprawdzam w bazie czy artykuł o takim ID istnieje: takie coś wystarczy? Przed sql_injection jestem zabezpieczony, korzystam z pdo. Te kody wyżej to tylko przykłady |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Obczaj to:
http://pear.php.net/manual/en/package.netw...er.features.php Ten post edytował wNogachSpisz 31.07.2012, 11:04:27 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie ogarniam tego ;/
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
1. Tak. Zwykły switch..
2. Istnieją lepsze. 3. Rzutuj na INT id i po sprawie. 4. $id - dziwna nazwa dla zmiennej przechowującej tablice/obiekt artykułu. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 280 Pomógł: 46 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
1 - jest okej, ale oczywiście można zrobić to lepiej. Ogólnie do miniCMS będzie raczej okej.
2 - Źle. Oddziel logikę od prezentacji. Poczytaj o klasach szablonów. http://forum.php.pl/index.php?showtopic=201664 - tu możesz przejrzeć trochę mojego kodu, może zrozumiesz. 3 - $id = (int)$_GET['id'] - chyba lepiej będzie. Ogólnie idziesz w dobrą stronę z zabezpieczeniami. 4 - Dobre sprawdzanie. @DOWN: Teraz widzę jak mało wiem. ;p Ten post edytował Evinek 31.07.2012, 12:15:38 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
3 - $id = (int)$_GET['id'] - chyba lepiej będzie. Lepiej i szybciej. Rzutowanie jest szybsze niż funkcja is_numeric ![]() -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Mam na stronie podstronę artykuły i każdy artykuł ma swoje id i po wejściu np. w index.php?page=articles&id=2 ładuję artykuł z bazy danych mysql, a zabezpieczam tak Cytat Przed sql_injection jestem zabezpieczony, korzystam z pdo. To używasz mysql czy pdo? Warto by było rozważyć bloki try-catch.Skorzystać z opcji bindowania parametrów: Cytat sth->bindParam(':value', $opinion, PDO::PARAM_INT); Jeśli parametr nie będzie typu int kwerenda w bloku try sie nie wykona,spowoduje błąd i nastąpi przejście do bloku catch,gdzie będziesz mógł przekierować na inną stronę lub wyświetlić wiadomość o błędzie. Ten post edytował Niktoś 31.07.2012, 12:17:33 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Evinek, korzystam z systemu szablonów Smarty
markonix, dlaczego $id to dziwna nazwa? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 280 Pomógł: 46 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Powinno być coś takiego:
Chodzi o nazewnictwo zmiennych. Musi być wiadomo o co chodzi. ID to może być do strony, użytkownika itp. Ten post edytował Evinek 31.07.2012, 12:24:51 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
a ok, tak jak pisałem to tylko przykład, u siebie mam inne nazwy, a to było pisane na szybko.
Żeby nie zakładać nowego tematu zapytam tutaj - jak pisałem korzystam z systemu szablonów i chciałbym się dowiedzieć czy dobrze robię rozbijając kod html na kilka plików, np. coś takiego: {include file="header.tpl") {include file="menu.tpl") {include file="$content.tpl") {include file="stats.php") {include file="footer.tpl") czy dobrze jak tak robię? czy może lepiej dać wszystko do pliku index.tpl, a tylko content zmieniać? |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 280 Pomógł: 46 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytaj ten temat: http://forum.php.pl/index.php?showtopic=201664
Miałem ten sam problem. Lepiej zrobić "bloki" które po prostu będziesz podmieniał w głównym szablonie. Czyli można powiedzieć, że sposób drugi. U mnie ja mam takie coś: Ładuje(wyświetlam) w danym pliku dany szablon ($template->display('news') ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.07.2025 - 08:34 |