Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 404, pare pytan
usb
post 14.09.2006, 17:55:15
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 14.09.2006
Skąd: (War)(Saw)

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


Witam.
Przedstawie kod:
  1. <?php
  2. if($_GET['id']!="")
  3. {
  4. switch( $_GET['id']) {
  5.  
  6. case 'news':
  7. include 'news.php';
  8. break;
  9.  
  10. case 'costam':
  11. include 'costam.php';
  12. break;
  13.  
  14. default:
  15. include "404.php";
  16. break;
  17.  
  18. }
  19. }
  20. else include 'sennik/start.php';
  21. ?>


Jak widac jest to kod na includowanie plikow. 1 moje pytanie: Czy jest to bezpieczny kod?
Druga sprawa to taka ze jezeli uzytkownik wpisze bledne "id" to strona start.php bedzie sie wczytywac.
Jezeli natomiast wpisze bledny "case" to otworzy mu sie strona z bledem 404.php. Chodzi mi o to ze wszystko jest w porzadku ale jezeli ten sam kod bedzie juz za kolejnej zaincludowanej stronie (np. na news.php) to po wpisaniu blednego "case" pojawi sie strona 404.php ale rowniez bedzie zaincludowana ta strona czyli start.php. Suma sumarum chodzi o to ze chcialbym zeby strona 404.php pojawiala sie z jednakowa zawartoscia na kazdej kolejnej stronie zaincludowanej a nie ze pojawia sie strona 404.php i wczesniejszy plik zaincludowany. Dzieki za pomoc.


--------------------
Fajny sennik, sam zobacz sennik. Prowadzisz firmę, w której masz wielu pracowników? Harmonogram Czasu Pracy - Wejdź i przejmij kontrolę nad czasem pracy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
zdzichu
post 14.09.2006, 20:01:36
Post #2





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


  1. <?php
  2. if($_GET['id']!="")
  3. ?>
użyj
  1. <?php
  2. if(!empty($_GET['id'])) ]
  3. ?>

Cytat
1 moje pytanie: Czy jest to bezpieczny kod?
 tego typu kody (oparte na switchu) sa najbezpieczniejsze- na malych stronach domowych (gdzie il. podstron =~5-10) wszystko jest ok, przy wiekszych il. rozwiazanie jest malo elastyczne i wyda
jne. Co do reszty nie jestem przekonany czy chodzi o to, jednak spróbuj takiego t
ricku- przed inkludowaniem zdefiniuj sobie stałą (nazwij ją jak chcesz,wartość tak nap
rawde też jest dowolna), następnie w plikach news.php, costam.php wklep: 
  1.  <?php 
  2. if(!defined('Nazwa_Stałej')){
  3. header location XXX;
  4. }
  5. ?>


Ten post edytował zdzichu 14.09.2006, 20:18:08
Go to the top of the page
+Quote Post
usb
post 14.09.2006, 21:10:55
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 14.09.2006
Skąd: (War)(Saw)

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


dzieki. Czyli nie jest warte uzywac switch przy wiekszej ilosci plikow? jakie sa minusy?

  1. <?php
  2. if($_GET['id']!="")
  3. {
  4. switch( $_GET['id']) {
  5.  
  6. case 'news':
  7. include 'news.php';
  8. break;
  9.  
  10. default:
  11. include "error.php"; 
  12. break;
  13.  
  14. }
  15. }
  16. else include 'start.php';
  17. ?>

Mam teraz takie pytanie: Jak zmienic kod zeby strona "error.php" nie wyswietlila sie w pliku index.php tylko ze jak ktos wpisze "zle case" to strona "error.php" otworzy sie jako jedyna (nie bedzie zainkludowana)


--------------------
Fajny sennik, sam zobacz sennik. Prowadzisz firmę, w której masz wielu pracowników? Harmonogram Czasu Pracy - Wejdź i przejmij kontrolę nad czasem pracy.
Go to the top of the page
+Quote Post
piwoszeq
post 14.09.2006, 22:04:20
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 13.01.2005
Skąd: warszawa

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


poprzez header ?smile.gif
Go to the top of the page
+Quote Post
usb
post 15.09.2006, 14:45:57
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 14.09.2006
Skąd: (War)(Saw)

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


jestem poczatkujacy w php i nie wiem jak to zrobic, bylbym wdzieczny za szczegolowe info.

..

nikt nie wie?

..


--------------------
Fajny sennik, sam zobacz sennik. Prowadzisz firmę, w której masz wielu pracowników? Harmonogram Czasu Pracy - Wejdź i przejmij kontrolę nad czasem pracy.
Go to the top of the page
+Quote Post
nospor
post 15.09.2006, 14:51:40
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jestem poczatkujacy w php i nie wiem jak to zrobic,
Ale to nie zwalnia cie od czytania manuala. Dostales odpowiedź: header
Idziesz teraz do manuala i szukasz header:
http://pl.php.net/manual/pl/function.header.php
Tam po dokladnej analizie tego co napisali, dowiadujesz sie ze jest header location i jestes w domu....
  1. <?php
  2. header('Location: error.php');
  3. ?>

Ten kod masz wywolac gdy ktos wpisze zla strone


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
usb
post 16.09.2006, 13:15:25
Post #7





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 14.09.2006
Skąd: (War)(Saw)

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


okey, czyli jaki ten kod ktory wywola to funcje? z tego manuala nie bardzo lape.

..


--------------------
Fajny sennik, sam zobacz sennik. Prowadzisz firmę, w której masz wielu pracowników? Harmonogram Czasu Pracy - Wejdź i przejmij kontrolę nad czasem pracy.
Go to the top of the page
+Quote Post
nospor
post 16.09.2006, 13:20:33
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




teraz ja nie lapie...
No przeciez ci podalem kod.... w moim poprzednim poscie. Dostales gotowca.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
usb
post 16.09.2006, 13:35:19
Post #9





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 14.09.2006
Skąd: (War)(Saw)

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


wiem. czytalem manuala ale jestem cienki w php bo zaczynam. Chodzi o to jak zmodyfikowac kod zeby ten wlasnie kod dzialal bo mi nie wychodzi tiredsmiley.gif


--------------------
Fajny sennik, sam zobacz sennik. Prowadzisz firmę, w której masz wielu pracowników? Harmonogram Czasu Pracy - Wejdź i przejmij kontrolę nad czasem pracy.
Go to the top of the page
+Quote Post
nospor
post 17.09.2006, 21:25:18
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. //.....
  3. default:
  4. header('Location: error.php');
  5. //.....
  6. ?>

Jakby ci nie dzialalo to, to byc moze spowodu wyslanych naglowkow. Szukaj na forum pod haslem:
headers already send

Cytat
bo mi nie wychodzi
jak ci nie wychodzi, to nastepnym razem napisz w jakim sensie ci nie wychodzi, rzuc errorami czy czym kolwiek czym sie objawia te nie wychodzenie. Chcesz pomocy - olatwij innym tę pomoc


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 08:05