![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 14.09.2008 Skąd: Polska Ostrzeżenie: (0%)
|
Witam. Otóż wpadłem sobie na pomysł, aby zrobić moją stronę możliwie najlepiej przystosowaną do zmian i w tym celu utworzyć plik główny index.php, i on byłby główną "podporą" całej strony tzn cały lay + menu i pusty środek.
Do owego pustego środka ładowałyby się strony z samym tekstem za pomocą takiegoż linku
następnie skrypt
Interesuje mnie czy po ładowaniu tychże stron działałby skrypt (tzn czy podliczałby wszystkich gości na stronie neizależnie od tego co zostało załadowane funkcją include (wydaje mi się, ze tak, ale upewnić się nie zaszkodzi) i czy takie rozwiązanie ma w ogóle jakikolwiek sens. Jestem całkowicie poczatkujący w php, więc jesli coś robie źle to chciałbym wiedziec co dokładnie i jak powinno to poprawnie wyglądać. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 9 Dołączył: 23.08.2006 Ostrzeżenie: (0%)
|
Ma to jakiś sens sam czasami korzystam z takiego rozwiązania jest bardzo wygodne... Ale tutaj masz bardziej uniwersalny kod:
A czy skrypt będzie działał no powinien (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Najlepiej sprawdź i tyle.. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Tak, super-uniwersalny... index.php?strona=index i życzę miłego dnia. Rozwiązania tego typu i owszem, stosuje się w całkiem sporej liczbie projektów, ale umieszczenie tak prymitywnego kodu bez żadnych zabezpieczeń to wręcz zaproszenie złośliwych do włamania bądź rozwalenia strony.
Drav -> zapakuj poszczególne akcje, jakie wykonuje strona, do jednego katalogu, pliki bibliotek itd. czyli wszystko, co powinno wykonywać się na większej ilości podstron, do innych katalogów. Następnie przy ładowaniu sprawdź zmienną $_GET['strona'] czy jak ją tam chcesz nazwać i przepuść ją przez następujący filtr: 1. Jej długość musi mieścić się w określonym przedziale. 2. Musi zawierać wyłącznie znaki alfanumeryczne, tj. litery alfabetu łacińskiego, cyfry i ew. podkreślenia. 3. W szczególności, nie może zawierać znaków ../, ukośników ani kropek. 4. Budujesz z tego nazwę pliku i sprawdzasz, czy plik istnieje. Jeśli tak, ładujesz go, jeśli nie, ładujesz coś predefiniowanego. Bez tych zabezpieczeń taki skrypt zamieni się w eksplorator kodu Twojej strony i może Ci niesamowicie nabruździć. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 3 Dołączył: 10.11.2008 Skąd: Radom Ostrzeżenie: (0%)
|
Wydaje mi się, że ilość filtrów nie musi być aż taka... wystarczy instrukcja if file_exists() - jeżeli plik istnieje to includuje stronę... jeżeli nie... to wstawiasz echo('<font size="20" color="red">NO I CZEGO KOMBINUJESZ HAKIERZE!!</font>'); (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D:D ja tak mam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Wracając do Gości on-line... powiem tak... słyszałem że jeżeli includuje się plik ze skryptem gości on-line, licznik może nie działać poprawnie... Ja znalazłem na to sposób. Mianowicie w index.php mam stałe elementy, i w jednym z nich można wstawic ten kod bezpośrednio. NIE INCLUDOWAĆ tego skryptu. Ten post edytował ignas1987 15.05.2009, 07:53:30 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%)
|
to podaj adres strony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Zyx słusznie mówi, najmniejsza luka w takim includowaniu pliku może potem zaowocować "cudami" na Twojej stronie... |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 3 Dołączył: 10.11.2008 Skąd: Radom Ostrzeżenie: (0%)
|
hmmmm...
Taka sytuacja: Ktoś wpisuje w zmienną $_GET[strona] np. kontakt... skrypt dodający tą część strony wygląda następująco:
Jeżeli będzie to kontakt to includuje kontakt jeżeli nie to nic nie powinien zrobić. I teraz jeżeli wstawie jakąś funkcje czy skrypt w tą zmienną to ona g... zrobi. Oczywiście to wersja na szybko, bo w pracy jestem i nie moge pisać ;P Ten post edytował ignas1987 15.05.2009, 08:05:13 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%)
|
w wolnej chwili poczytaj sobie o LFI/RFI (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%)
|
Skrypt kolegi który zrobił dla mojej strony ;]
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 3 Dołączył: 10.11.2008 Skąd: Radom Ostrzeżenie: (0%)
|
w wolnej chwili poczytaj sobie o LFI/RFI (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) hehehe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dobre THNX!! (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) hmm... ale z drugiej strony ja mam zabezpieczone include("page/$strona") z tego co wyczytałem to te sposoby działają tylko jeżeli masz skrypt includujący i stronę includowaną w katalogu głównym strony... ale ogólnie jeszcze tego nie znam więc może ktoś mi to wytłumaczy na pw. Ten post edytował ignas1987 15.05.2009, 08:30:57 |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
ignas1987 -> załóżmy, że Twój skrypt, co podałeś, nazywa się "index.php". Teraz ja robię: index.php?strona=../index.php i również życzę miłego dnia, bo Twoje genialne zabezpieczenie najwyraźniej nie zadziałało. Wydawać wydaje Ci się źle, i to bardzo. Większa ilość filtrów jest niezbędna.
Ten post edytował Zyx 15.05.2009, 09:10:42 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 3 Dołączył: 10.11.2008 Skąd: Radom Ostrzeżenie: (0%)
|
Ups... we wcześniejszym poście nie napisałem że skrypt sprawdza czy dany plik $strona.php istnieje... jeżeli nie to nie includuje tylko wypisuje tekst np. "No i czego kombinujesz" ;P (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) więc jeżeli zmienna ma jakąś inną wartość tzn. nazwę niż pliki w folderze to wydaje mi się że nie będzie kłopotu
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
widzę ,że trafiłem na dość interesującą dyskusję . Ja mam pytanie tego typu jak bym zrobił standardową instrukcję
. Czy też taki skrypt jest podatny na ataki ,szkodliwe modyfikacje ... oraz czy jak użyje modrewrite do maskowania czy coś się zmieni (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 40 Dołączył: 14.08.2008 Skąd: Katowice Ostrzeżenie: (0%)
|
Przecież Zyx już ci podał ../ <-- katalog wyżej ;]
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
@ignas1987,
zapoznaj się najpierw z tym. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 3 Dołączył: 10.11.2008 Skąd: Radom Ostrzeżenie: (0%)
|
ok... u mnie ten sposób ataku raczej nie zadziała Moja strona co prawda dopiero się buduje, ale możecie sprawdzić czy ten atak działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ale dobrze, że to wyszło, bo teraz wiadomo czego unikać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%)
|
@ignas1987, zapoznaj się najpierw z tym. Ja też się z tym zapoznałem i dalej tego nie rozumie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) LFI (Local File Include) czyli ktoś wczytuje na stronę plik który nie był dla niego przeznaczony. Sprawdzam u siebie na stronie i nie widzę efektu , tylko taki że ładuje mi domyślną strone za każdym razem gdy próbuje wywołać coś innego . Specjalnie zrobiłęm katalog hasla/haslo_do_ftp.txt wpisuje index.php?operator=../hasla/haslo_do_ftp.txt i nic się nie dzieje (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) O co chodzi z tym LFI . Ten gość pisze gdy mamy "magic_quotes_gpc = Off" oraz "register_globals = On" to jestem podatny na ataki a gdy ja ma ustawione to na On i na Off to taki atak jest niemożliwy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował slewin 15.05.2009, 09:53:07 |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 14.09.2008 Skąd: Polska Ostrzeżenie: (0%)
|
chciałbym wiedzieć jak to rozwiązanie ma się do wyszukiwarek, tzn czy informacje includowane na np stronie ?strona=nowe będą uwzględniane jako cała strona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 18:02 |