Matrix_ Opublikowano 19 Sierpnia 2015 Udostępnij Opublikowano 19 Sierpnia 2015 Witam, ostatnio pracuję nad stroną internetową z systemem newsów (łączenie z msql) ale nie o to chodzi. Szukając w necie prostej galerii trafiłem na MiniGalNano. Na stronie, podstrony ładują się przez : GML <?php // zmienna $go przekazana metoda GET $go = $_GET['go']; // sprawdzam czy zmienna $go nie jest pusta if(!empty($go)) { // sprawdzam czy plik o danej nazwie istnieje if(is_file("podstrony/$go.html")) include "podstrony/$go.html"; // jezeli plik nie istnieje wyswietla się komunikat else echo "<br />Nie ma takiej strony :-("; } // jezeli zmienna $go jest pusta wyswietla się strona glowna else include "podstrony/strona.html"; ?></div> W tym momencie adresy url wyglądają tak: index.php?go=4 w załączonej podstronie 4 mam wrzuconą tą galerię (według opisu "How to Include MiniGalNano") co wygląda tak: GML <?php // MiniGal Nano integration START $path_to_minigalnano = "MiniGalNano/"; // <- Enter relative path to MiniGal Nano here (eg. "subfolder/minigalnano/") - END WITH / // DO NOT EDIT BELOW THIS LINE! define("GALLERY_ROOT", $path_to_minigalnano); require(GALLERY_ROOT . "index.php"); // MiniGal Nano integration END ?> Niby galeria sie ładuje, ale w momencie klikania na obrazki i foldery przenosi mnie do: Z tego co czytałem żeby osiągnąć prawidłowe funkcjonowanie MiniGalNano powinien tworzyć linki: index.php?go=4&dir=Nowy%20katalog. Niestety wszystkie moje próby edycji linków wewnątrz galerii nic nie dawały, ktoś mógłby pomóc ? Ten sam problem mam przy edycji,usuwaniu newsów łącząc się z bazą danych i wrzucanie do linku index.php?id=2 (gdzie id to numer newsa, ale potrzebny url to : admin.php?go=news_edit&id=25 [edit] edycja jakoś mi się udało dodając jeszcze jedną zmienną do urla: GML echo $output['subject'].' ? <a href="?go='.$go.'&id='.$output['id'].'">Edytuj</a><br />'; niestety przy usuwaniu nie wiem który kod zmienić: GML if (confirm("Are you sure you want to delete this news item?")) this.location.href = "?id="+id; czy GML echo $output['subject'].' ? <a href="#" onclick="check('.$output['id'].'); return false;">Delete</a><br />'; w galerii jest trudniej bo tam jest po kilkanaście odnośników, chyba ze jakoś z zewnątrz się da zmienić Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 19 Sierpnia 2015 Administratorzy Udostępnij Opublikowano 19 Sierpnia 2015 Matko boska, tak strasznie dziurawego kodu dawno nie widziałem. Jeśli dobrze patrzę, można dowolny plik na serwerze sobie includować... w ogóle nie filtrujesz GETa, którego user może dowolnie zmodyfikować... nawet nie chce się szukać błędu, skoro od pierwszej linijki jest ich pełno. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matrix_ Opublikowano 23 Sierpnia 2015 Autor Udostępnij Opublikowano 23 Sierpnia 2015 Matko boska, tak strasznie dziurawego kodu dawno nie widziałem. Jeśli dobrze patrzę, można dowolny plik na serwerze sobie includować... w ogóle nie filtrujesz GETa, którego user może dowolnie zmodyfikować... nawet nie chce się szukać błędu, skoro od pierwszej linijki jest ich pełno. Nie każdy musi od razu pisać czysty kod, z zablokowanymi wszystkimi możliwościami zmiany. Będąc laikiem w php i dopiero co zaczęło mi działać małe co nie co, nie musze robić strony jak na sprzedaż. Nie trzymam żadnych danych. Mógłbyś chociaż jakieś przykłady np. strony internetowe, żebym mógł zobaczyć od czego zacząć filtrację GETa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 24 Sierpnia 2015 Administratorzy Udostępnij Opublikowano 24 Sierpnia 2015 Poczytaj o SQL Injection oraz XSS i będziesz wiedział :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się