Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> include
dzanesko
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


witam, mam pytanie, ponieważ przejrzałem tematy odnośnie include, było jak używać itd, ale nie znalazłem odpowiedzi na moje...

chciałbym możliwie jak najbardziej oddzielić warstwę html od php - dlatego czy wskazane jest include'owanie pliku np. 'deklaracja.php' czy tam 'deklaracja.html'
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">


potem po kolei head, menu - stałe fragmenty strony...

czy też lepiej umieszczać deklarację na każdej stronie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
qrooel
post
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 42
Dołączył: 25.03.2010
Skąd: Kraków

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


Zgodnie z zasadą DRY - nie powtarzaj się, powinieneś załączać te elementy poprzez partiale/pliki które 'inkludujesz'.

Czyli: elementy powtarzające się ładujesz za pomocą include (menu, listy, doctype).

Ten post edytował qrooel 19.12.2011, 10:16:39


--------------------
Strony WWW: http://arscreo.pl
Go to the top of the page
+Quote Post
dzanesko
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


dzięki, teraz jestem pewien że zrobiłem to dobrze smile.gif

jeszcze jedna rzecz, bo wyczytałem że samo:
  1. include 'deklaracja.php';


jest niebezpieczne, lepiej coś takiego:

  1. include($_GET['deklaracja.php']);
  2. //lub
  3. include('./'.$_GET['deklaracja.php']);
  4. //lub
  5. if(file_exist('katalog_ktory_znajduje_sie_na_moim_serwerze/'.$_GET['deklaracja'].'.php'))
  6. {
  7. include 'katalog_ktory_znajduje_sie_na_moim_serwerze/'.$_GET['deklaracja'].'.php';
  8. }


jak to z tym jest?
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


W jakim sensie niebezpieczne?

Include, któremu damy link do pliku, którego nie ma zwróci warning - można się zabezpieczyć poprzez file_exists tak jak podałeś.

Ale zupełnie nie kumam tego podejścia $_GET['deklaracja.php'] - rozwiń to - bo mi się wydaje, że wrzucanie wprost w include jakiegolwiek GET'a jest nie ciekawym pomysłem...

EDIT:
Aby nie stosować niepotrzebnie file_exists proponuje nie przesyłać wprost do skryptu nazwy pliku jaki ma dołączyć.

Użyj do tego bazy lub jakiejś tablicy w PHP na przykład:

wywołujesz plik: strona.php?s=123

w php masz:

  1. $strony = array(
  2. ...,
  3. 122 => 'newsy.php',
  4. 123 => 'strona.php',
  5. ...
  6. )
  7.  
  8. if(isset($_GET['s']) && isset($strony[$_GET['s']]))
  9. {
  10. include $strony[$_GET['s']];
  11. }
  12. else
  13. {
  14. include '404.php';
  15. }


i tak dalej wink.gif

Ten post edytował Sephirus 19.12.2011, 11:22:12


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
vee
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 5
Dołączył: 16.08.2011

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


  1. include 'deklaracja.php';

jest najbezpieczniejszym zastosowaniem include. Pakowanie w to jakichkolwiek zmiennych (a już zwłaszcza $_GET) zmniejsza bezpieczeństwo - w przypadku $_GET wręcz krytycznie - oczywiście chyba, że zastosujesz kod Sephirusa.

Ten post edytował vee 19.12.2011, 11:30:49
Go to the top of the page
+Quote Post
dzanesko
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


czyli z tego wynika/z tego rozumiem że:
  1. include 'deklaracja.php';

nie ma nic wspólnego z przesyłaniem żądania w trybie GET?
i dlatego jest bezpieczne...

dokładnie chodzi mi o ten wątek bo szczerze trochę mi pomieszali i nie wiem
Temat: Bezpieczenstwo skryptow PHP

Sephirus,
czym jest 's' w kodzie?

Ten post edytował dzanesko 19.12.2011, 11:43:30
Go to the top of the page
+Quote Post
nospor
post
Post #7





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




Cytat
czym jest 's' w kodzie?
No przecież podał ci przyklad:
Cytat
wywołujesz plik: strona.php?s=123


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

"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
dzanesko
post
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


czyli:
strona.php?s=123

to boolean który sprawdza czy 123 to 'strona.php' ?
Go to the top of the page
+Quote Post
nospor
post
Post #9





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




strona.php?s=123 to link a nie zaden boolean
http://twojadomena.pl/strona.php?s=123


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

"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
dzanesko
post
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


Cytat(nospor @ 19.12.2011, 11:52:28 ) *
strona.php?s=123 to link a nie zaden boolean
http://twojadomena.pl/strona.php?s=123


czyli w include piszę:
  1. include 'strona z tablicy równa 123';

?

Ten post edytował dzanesko 19.12.2011, 11:57:30
Go to the top of the page
+Quote Post
Sephirus
post
Post #11





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Ten adres ktoś wpisuje w przeglądarce twojastrona.pl/index.php?s=123

s określa która strona ma się załadować - tutaj ta o numerze 123

Dzięki temu najprostszemu rozwiązaniu masz kontrole nad tym czy dana strona istnieje i możesz ją dołączyć do pliku bez utraty wydajności i korzystania z file_exists

Sory chłopaki - poddaje się :/ nie mam dzisiaj zupełnie cierpliwości sad.gif



--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
dzanesko
post
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.07.2011

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


no teraz jasne smile.gif
zmyliła mnie ta strona.php...
dzięki
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: 22.08.2025 - 09:20