![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z moją stroną. Używam takiego kodu
Okazało się, że funkcja include nie jest bezpieczna. Próbuję zmienić to ze switch/case ale chyba nie umiem ![]()
Adresy powinny się wyświetlać jako www.adres.strny.pl/index.php?show=nazwa, gdzie nazwa jest plikiem w katalogu contents (wywoływanym w zależności od tego na jaką stronę chcę wejść, plików w contents mam około 80). Całą stronę mam tak zbudowaną, ale zwrócono mi uwagę, że są włamania przez funkcję include. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
W każdym kursie opisana jest sprawa inkludowania plików poprzez funkcję switch, a w lepszych poruszona kwestia bezpieczeństwa... że nie wspomnę o szukajce na forum!
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz mi pomóc zmienić tego kodu? Naprawdę nie wiem co w nim jest nie tak.
Wiem, że jak wstawię
To wszystko działa dobrze. Ale czy nie da się tak, że zamiast koty jest nazwa wywoływana w przeglądarce? Tzn. nie chcę na sztywno wpisywać koty, tylko jak kliknę adres www.ades.pl/index.php?show=psy to wyciągnie mi z katalogu contents plik psy.html, a jak adres z inną końcówką to wyciągnie mi inny plik. Nie wiem czy jasno określam o co mi chodzi... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
samo Twoje podejście do tematu nie jest zbyt bezpieczne, więc sama funkcja switch nie poprawi jej.
w arrayu dodajesz pliki ktore maja byc includowane. jezeli tego nie zrobisz, a nie bedziesz mial "default" to poprzez adres kazdy bedzie mogl uruchomic dowolny kod php. a to jest niezbyt bezpieczne.. Ten post edytował Belze 1.06.2010, 07:28:21 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Możesz np wrzucic pliki które chcesz załadować do jednego katalogu, i zamienić wrzystkie "dziwne" znaki z get'a typu . / ; na puste znaki, ale tu uwaga, weź też pod uwagę że ktoś może zapisać je w innym systemie np szesnastkowym.
Możesz też nadać plikom specyficzny prefix, tak aby jedyne co można było załadować to pliki wyznaczone do tego np abecadlo.index.php, możesz też połączyć obie metody |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hej, dzięki za podpowiedzi. Próbuję tak zrobić. Jednak za każdym razem jakikolwiek adres wpiszę wyrzuca mi pierwszy plik z array. Nie wiem dlaczego. Pewnie coś źle wpisuję.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy plik. Dziękuję - działa. A to (int) to niezbędne? Bo z tym to nie działa
![]() Ten post edytował eMCe 1.06.2010, 17:49:46 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
wklej kod i wymien przykladowe linki to powiemy Ci gdzie lezy blad
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:15 |