![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam. Wpadłem znów na genialny pomyśł opracowania skryptu includującego strone. Oto jego Skrypt:
I teraz zaczoł się problem. A mianowicie. URL wygląda tak :index.php?name=home zmienna $get_name = home zmienna $file nie jest równa zmiennej $get_name ponieważ zmienna $file powinna przybrac wartosc home.php a home != home.php I wpadłem na kolejny genialny pomysł. Oto on: dodac do $get_name koncówke .php i wtedy $get_name bedzie rowna $file. Problem jest w tym, że nie wiem jak można dodac tą końcówkę i czy wogóle się da to zrobic. Czy macie jakieś propozycje? ![]() ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Wpadłem znów na genialny pomyśł opracowania skryptu includującego strone. Oto jego Skrypt:
I teraz zaczoł się problem. A mianowicie. URL wygląda tak :index.php?name=home zmienna $get_name = home zmienna $file nie jest równa zmiennej $get_name ponieważ zmienna $file powinna przybrac wartosc home.php a home != home.php I wpadłem na kolejny genialny pomysł. Oto on: dodac do $get_name koncówke .php i wtedy $get_name bedzie rowna $file. Problem jest w tym, że nie wiem jak można dodac tą końcówkę i czy wogóle się da to zrobic. Czy macie jakieś propozycje? ![]() ![]()
? -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Może skorzystaj z tego:
Niepotrzebnie babrasz się z addslashes oraz kompletnie niepotrzebnie otwierasz katalog i szukasz w nim konkretnego pliku. Lepiej sprawdzić czy takowy file_exists czyli czy plik_istnieje. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Może skorzystaj z tego:
Niepotrzebnie babrasz się z addslashes oraz kompletnie niepotrzebnie otwierasz katalog i szukasz w nim konkretnego pliku. Lepiej sprawdzić czy takowy file_exists czyli czy plik_istnieje. Jak juz chcesz tak robic to dawaj dozwolone pliki do tablicy i przy includowaniu sprawdzaj czy plik znajduje sie w tablicy bo to jest przyklad fajnego LFI ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Jak juz chcesz tak robic to dawaj dozwolone pliki do tablicy i przy includowaniu sprawdzaj czy plik znajduje sie w tablicy bo to jest przyklad fajnego LFI ![]() Racja. Ale w sumie wystarczy przelecieć $_GET['page'] funkcją basename() i już uniemożliwisz wyjście poza wskazany katalog. Szkoda babrać się z tablicami czy switchami. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
ale mi własnie chodzilo o to aby includowalo plik ktory znajduje sie na serwerze. bo mozna zrobic tez cos takiego jak
<?php include(''.$get_name.'.php'); ?> ale wtedy mozna zrobic cos takiego index.php?name=http://forum.php.pl/index i wtedy zaincluduje to forum. a dopisywanie do tablicy jest monotonne. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Polecam lekturę mojej poprzedniej wypowiedzi.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Może skorzystaj z tego:
Niepotrzebnie babrasz się z addslashes oraz kompletnie niepotrzebnie otwierasz katalog i szukasz w nim konkretnego pliku. Lepiej sprawdzić czy takowy file_exists czyli czy plik_istnieje. Polecam lekturę mojej poprzedniej wypowiedzi. Chodzi o to ze tam tez jest LFI przeciez sprawdzasz czy jaki kolwiek plik ktory sie poda do get'a jest na servie miec mozna includowac wszystko etc/passwd/ i czasami ladujac pliki php sa fajne efekty albo robi sie petla podczac include etc albo przy fyckjach plikowych widac zrodlo ![]() Ten post edytował marcio 15.04.2008, 22:45:53 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Chodzi o to ze tam tez jest LFI przeciez sprawdzasz czy jaki kolwiek plik ktory sie poda do get'a jest na servie miec mozna includowac wszystko etc/passwd/ i czasami ladujac pliki php sa fajne efekty albo robi sie petla podczac include etc albo przy fyckjach plikowych widac zrodlo ![]() Pozwolę zacytować sam siebie: Racja. Ale w sumie wystarczy przelecieć $_GET['page'] funkcją basename() i już uniemożliwisz wyjście poza wskazany katalog. Szkoda babrać się z tablicami czy switchami. I po sprawie. basename()" title="Zobacz w manualu PHP" target="_manual zwróci ostatni człon ścieżki podanej w adresie więc kombinacje typu /etc/passwd czy ../../etc/passwd nie przejdą, bo będzie szukany plik ./pages/passwd.php |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Niewiem po co tyle kombinowania.
Pozdrawiam -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niewiem po co tyle kombinowania.
Pozdrawiam Czy czytasz ze zrozumieniem? -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Czy czytasz ze zrozumieniem? Tak, czytam. Jak masz pisać takie bezsensowne posty które nic nie wnoszą do tematu, to nie pisz ich. @topic Mlodycompany, Twój pomysł jest świetny w pewnym stopniu, to znaczy: 1. Można go przerobić tak aby na stronie błędów (404) było wyszukiwanie strony pokrewnej - to znaczy "Czy chodziło Ci o ...". To jest jeden z dobrych pomysłów, widziałem już kiedyś coś takiego ale nie myślałem aby napisać to.. Do tego można użyć levenshteina i będzie dobrze :] Pozdrawiam. Ten post edytował Babcia@Stefa 16.04.2008, 14:54:09 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tak, czytam. Ale nie widzisz, że masz dziury w skrypcie, które były już wymienione. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Tak, czytam. Jak masz pisać takie bezsensowne posty które nic nie wnoszą do tematu, to nie pisz ich. @topic Mlodycompany, Twój pomysł jest świetny w pewnym stopniu, to znaczy: 1. Można go przerobić tak aby na stronie błędów (404) było wyszukiwanie strony pokrewnej - to znaczy "Czy chodziło Ci o ...". To jest jeden z dobrych pomysłów, widziałem już kiedyś coś takiego ale nie myślałem aby napisać to.. Do tego można użyć levenshteina i będzie dobrze :] Pozdrawiam. Ale nie widzisz, że masz dziury w skrypcie, które były już wymienione. @Babcia@Stefa bez obrazy ale jak nie wiesz to sam nie pisz ![]() ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@marcio
Po co tworzyć listę, stwórz sobie klasę abstrakcyjną akcji, i każda akcja musi po niej dziedziczyć, więc przekazujesz tylko nazwy obiektów (czy jakąś część), i sprawdzasz czy klasa istnieje i czy dziedziczy po action ;] A najlepiej mieć to połączone z konkretną lokalizacją plików akcji, aby burdelu nie było. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Heh nie znam sie na OOP wiec nie dam rady tego napisc ale idea jest obra moze pokazalbys jak ty to robisz bo do tej pory ja tak to robilem jak napisalem wczesniej i wszystko dobrze i bezpiecznie dzialalo ale moze bylo lamersko napisane
![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Heh nie znam sie na OOP wiec nie dam rady tego napisc ale idea jest obra moze pokazalbys jak ty to robisz bo do tej pory ja tak to robilem jak napisalem wczesniej i wszystko dobrze i bezpiecznie dzialalo ale moze bylo lamersko napisane ![]() Wiesz, skoro działa i wystarcza, to znaczy że dobrze, nie wiem dlaczego miało by być "lamersko". Ale możesz coś w tym stylu:
a w głównym kontlorerze:
W tym przypadku przydaje się autoloader dobrze napisany, aby ładował akcje sam. Oczywiście co przekazujesz do akcji, czy akcja jest tylko interfejsem (lepiej nie), czy też jest abstrakcyjna, to potem ułatwia, masz pewne rzeczy z głowy. Np. jak chcesz autoryzacje, taką prostszą to może wystarczyć UserFactory::gerAuth()->mustLevel( iUserAuth::ADMIN ); Lub po prostu odpowiednie dziedziczenie, po abstrakcji z autoryzacją i zaimplementowanie odpowiedniej metody... Sposobów jest wiele, ale obiektowe podejście wiele rzeczy ułatwia jak się dobrze zrobi. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Zauważyłem, że mój temat wyjawnił u was dużo zapału do odpowiadania, ale także do kłutni. Może napisze do czego dąże. Chciałbym miec skrypt aby includował strone tylko z serwera, a nie z innego serwera. Może dacie mi gotowca i bedzie po sprawie
![]() |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@Mlodycompany:
Mało ci gotowców w tym jednym poście? ![]() |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
He he. Powiem tak. Przygodę z PHP zaczołem niedawno więc nie wiem który jest najlepszy, więc proszę was o wybranie najlepszego z tych
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:29 |