Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] $_GET - Używane w index.php dla include'ów stron.
Hazes
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.03.2016

Ostrzeżenie: (0%)
-----


Witam. Mam na stronie taki kod:

  1. <?php
  2. if(empty($_GET) || $_GET['page'] == "home") {
  3. include('strony/home.php');
  4. } else if($_GET['page'] == "rezerwacja") {
  5. include('strony/rezerwacja.php');
  6. } else if($_GET['page'] == "galeria") {
  7. include('strony/galeria.php');
  8. } else if($_GET['page'] == "kontakt") {
  9. include('strony/kontakt.php');
  10. } else if($_GET['page'] == "aktualnosci") {
  11. include('strony/aktualnosci.php');
  12. } else {
  13. echo '<div class="gallery_noalbum"><img src="/images/no.png" /><br />Strona nie istnieje! - #404<br /><a href="?">Wróć do strony głównej</a></div>';
  14. }
  15.  
  16. ?>


Jednak gdy w adresie wpiszę np. ?test (index.php?test) wyskakuje mi ostatni warunek oraz takie ostrzeżenia:





Ktoś może pokierować mnie jakiego warunku tutaj mi brakuje?

Pozdrawiam,
Hazes.

Ten post edytował Hazes 12.03.2016, 05:41:09
Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Musisz sprawdzać czy page jest ustawione czyli lektura isset a jak chcesz pobrać test to
  1. if(isset($_GET['test'])){
  2.  
  3. var_dump($_GET['test']);
  4.  
  5. }
Go to the top of the page
+Quote Post
Hazes
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.03.2016

Ostrzeżenie: (0%)
-----


Cytat(rad11 @ 12.03.2016, 07:46:52 ) *
Musisz sprawdzać czy page jest ustawione czyli lektura isset a jak chcesz pobrać test to
  1. if(isset($_GET['test'])){
  2.  
  3. var_dump($_GET['test']);
  4.  
  5. }


Dzięki, zrobiłem coś takiego:

  1. <?php
  2. if(isset($_GET['page'])) {
  3.  
  4. if($_GET['page'] == "home") {
  5. include('strony/home.php');
  6. } else if($_GET['page'] == "rezerwacja") {
  7. include('strony/rezerwacja.php');
  8. } else if($_GET['page'] == "galeria") {
  9. include('strony/galeria.php');
  10. } else if($_GET['page'] == "kontakt") {
  11. include('strony/kontakt.php');
  12. } else if($_GET['page'] == "aktualnosci") {
  13. include('strony/aktualnosci.php');
  14. } else {
  15. /* JEŚLI $_GET['page'] jest źle ustawione. */
  16. echo '<div class="gallery_noalbum"><img src="/images/no.png" /><br />Strona nie istnieje! - #404<br /><a href="?">Wróć do strony głównej</a></div>';
  17. }
  18.  
  19. } else if(!isset($_GET) || empty($_GET)) {
  20. include('strony/home.php');
  21. } else {
  22. echo '<div class="gallery_noalbum"><img src="/images/no.png" /><br />Strona nie istnieje! - #404<br /><a href="?">Wróć do strony głównej</a></div>';
  23. }
  24. ?>


I działa, tylko chciałbym zapytać czy kod jest napisany poprawnie?
Go to the top of the page
+Quote Post
rad11
post
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Lepiej tak chyba:
  1. $pages = array(
  2. 'home'
  3. );
  4. if(isset($_GET['page'])){
  5.  
  6. if(in_array($_GET['page'], $pages)){
  7. include 'strony/' . $_GET['page'] . '.php';
  8. }
  9.  
  10.  
  11.  
  12. }
  13.  

I reszta tak jak masz.

Ten post edytował rad11 12.03.2016, 21:10:48
Go to the top of the page
+Quote Post
kapslokk
post
Post #5





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(rad11 @ 12.03.2016, 20:57:12 ) *
Lepiej tak chyba:
  1.  
  2. if(isset($_GET['page'])){
  3.  
  4. include 'strony/' . $_GET['page'] . '.php';
  5.  
  6. }
  7.  

I reszta tak jak masz.

O LFI słyszałeś?

Ten post edytował kapslokk 12.03.2016, 21:08:56
Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Słyszał i co z tego ? Pytanie autora nie dotyczyła LFI i bezpieczeństwa. Tylko czy kod jest napisany poprawnie.
Powód edycji: [Spawnm]: dostajesz warna za taką zagrywkę.
Go to the top of the page
+Quote Post
kapslokk
post
Post #7





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


To z tego, że pisząc "Lepiej tak chyba" nauczysz chłopaka złych nawyków i później będzie tak robił.

Ten post edytował kapslokk 12.03.2016, 21:18:48
Go to the top of the page
+Quote Post
rad11
post
Post #8





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie martw się o czyjąś przyszłość bo ten ktoś napewno sam o nią zadba jak będzie chciał.
Go to the top of the page
+Quote Post
kapslokk
post
Post #9





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


To zupełnie tak, jakbyś komuś powiedział, że wklejanie danych prosto z POST'a/GET'a do zapytań jest spoko itp. itd. Rozwiązanie które podałeś, było nawet gorsze od rozwiązania podanego przez autora tematu, zwróciłem uwagę na to, że jest tam bug, umożliwiający LFI, a Ty spinasz dupę tak, jakbyś faktycznie miał racje. Każdemu zdarzają się bugi. Sztuka się po prostu do tego przyznać.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:45