Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem ze includowaniem i wykorzystaniem CASE, dużo includów, jak to zmiejszyc
Kreton
post
Post #1





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


mam tu stronkę http://dobrepomysly.za.pl

I działy, dajmy na to dział 2.

No i tematy są inludowane w sposób :
  1. <?php
  2. if (!isset($_GET['dzial'])){
  3. echo
  4. <center><b>Szkoła podstawowa</b></center>
  5. <ul><li><a href="index.php?go=szkola&dzial=1"><b>Swobodna twórczość dziecięca</b></a></li>
  6. ";
  7. } else {
  8. switch ($_GET['dzial'])
  9. {
  10. case 1:
  11. include("1.html");
  12. break;
  13. case 2:
  14. include("2.html");
  15. break;
  16. <!-- i tak dalej az do 40-->
  17.  }
  18. }
  19. ?>


Jak to zrobic zeby nierobić tych bardzo żmudnych case x: include("blabla.html")
niebardzo wiem jak to zrobic przy użyciu np. pętli while czy cos takiego. Pomóżcie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Kreton @ 2005-09-25 12:24:39)
Mam gorącą prośbe, mogłbyś mi bardziej dogłębnie wytłumaczyc, jak mogłby hacknnąć tą stronkę (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) W jaki sposób ten kod napisany przez ciebie chroni przed włamem.

Chodzi o to że bez kontroli dołanczasz jakiś plik, to wcale nie musi byc plik u Ciebie na serwerze tylko u kogoś. Kotś może Ci tak dołączyć plik, w którym kasuje wszystkie foldery w bierzącej lokalizacji a to już problem, nie :?:

Sprawdzenie polego na tym czy zmienna przychodząca z $_POST'a jest liczbą i czy u Ciebie na serwerze istnieje plik, który masz zamiar dołączyć (masz pewność że dołanczasz seoje pliki).
Mam tylko dwa ale:
1. Do sprawdzania czy dana jest liczbe użyłbym fukncji z rozszerzenia ctype.
2. @zbig13 ma błąd w kodzie: Sprawdza istnienie pliku na poziomie (folderów) gdzie jest index.php a dołancza plik z folderu niżej. Oczywiste jest że nigy takiego pliku nie będzie. Trzeba sprawdzać czy plik istnieje w folderze niżej.
Go to the top of the page
+Quote Post

Posty w temacie
- Kreton   Problem ze includowaniem i wykorzystaniem CASE   24.09.2005, 17:38:29
- - zbig13   Jeśli numery działów odpowiadają nazwom plików, to...   24.09.2005, 17:56:57
- - Spirit86   [PHP] pobierz, plaintext <?php $dzial = ...   24.09.2005, 19:12:47
- - M4chu   Jeśli to nie tylko liczby, to możesz na przykład z...   24.09.2005, 19:17:20
- - Spirit86   Cytat(M4chu @ 2005-09-24 19:17:20)Jeśli to ni...   24.09.2005, 19:31:20
- - zbig13   ja podsunąłem tylko propozycję jak można to zrobić...   25.09.2005, 07:57:15
- - Kreton   razej zmienna zawsze będzie miała wartość liczbową...   25.09.2005, 08:25:44
- - zbig13   Kod niezabezpieczony wygląda tak: [PHP] pobierz, ...   25.09.2005, 09:14:35
- - Ociu   ja bym tak dał die" title="Zobacz w manualu php" t...   25.09.2005, 09:26:47
- - Kreton   Mam gorącą prośbe, mogłbyś mi bardziej dogłębnie w...   25.09.2005, 11:24:39
- - mike_mech   Cytat(Kreton @ 2005-09-25 12:24:39)Mam gorącą...   25.09.2005, 11:35:46
- - Spirit86   Cytat(Ociu @ 2005-09-25 09:26:47)ja bym tak d...   25.09.2005, 22:30:54
- - Kreton   [PHP] pobierz, plaintext <meta http-equiv=...   26.09.2005, 15:43:13
- - nospor   Na samyum koncu brakuje }. Czy to tak ciezko polic...   26.09.2005, 15:45:53
- - Kreton   dla ciebie wnikliwego programisty to moze i proste...   26.09.2005, 16:33:03
- - kszychu   Cytat(Kreton @ 2005-09-26 16:33:03)dla ciebie...   26.09.2005, 16:38:29
- - Spirit86   [PHP] pobierz, plaintext <meta http-equiv=...   26.09.2005, 17:11:26
- - Kreton   Mam bardzo duży szacunek do was, ale wy niemacie s...   26.09.2005, 17:41:15
- - kszychu   Usuń /katalog/ z file_exists() i ..... ZACZNIJ MYŚ...   26.09.2005, 18:56:04
- - Berni   wrzuc sobie do tablicy nazwy dostepnych blokow z o...   28.09.2005, 00:16:49
- - Spirit86   [PHP] pobierz, plaintext <?php$a_block = array...   28.09.2005, 10:11:14
- - Kreton   Zmieniłem na tak jak powiedzieliście, i efekt taki...   28.09.2005, 18:10:02
- - h.4   CytatChodzi o to że bez kontroli dołanczasz jakiś ...   28.09.2005, 18:19:41
- - zbig13   @Kreton A co się dokładnie dzieje? Są jakieś komun...   28.09.2005, 19:54:44
- - Kreton   musi byc ten nawias bo przed nim jest Kod} else { ...   28.09.2005, 21:22:37
- - NoiseMc   Tutaj funkcją file_exists () sprawdzasz czy plik i...   28.09.2005, 21:52:50
- - Kreton   nadal nidzla wlasnie to if_exists :/, probowalem t...   3.10.2005, 16:27:43


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

 



RSS Aktualny czas: 8.10.2025 - 09:21