Witamy, Gość. Zaloguj się lub zarejestruj.

Autor Wątek: Content - wyświetlanie treści na stronie  (Przeczytany 3468 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Content - wyświetlanie treści na stronie
« dnia: Styczeń 29, 2011, 14:09:04 »
Taki całkiem przydatny patencik, może sie przydać wielu osobom.
Znacznie ułatwi wyświetlanie treści, bez używania przestarzałych iframe lub kopiowania całych szablonów

Wersja z dowolną ilością podstron:

Z błędem 404:

<?php
if ($_GET['page'] && file_exists('pages/' $_GET['page'] . '.php') && strpos($_GET['page'], '../') === false)
include 
'pages/' $_GET['page'] . '.php';
elseif (!isset(
$_GET['page']))
require
"pages/index.php";
elseif (!
file_exits('pages/' $_GET['page'] . '.php'))
require 
'pages/404.php';
?>



Oraz zamiast błędu gdy niema strony, wyświetla się strona główna ;)

<?php
if ($_GET['page'] && file_exists('pages/' $_GET['page'] . '.php') && strpos($_GET['page'], '../') === false)
include 
'pages/' $_GET['page'] . '.php';
else
require
"pages/index.php";
?>



Drugim sposobem jest wyświetlanie określonych podstron:


<?php
switch($_GET['page']) {
case 
'klucz':
include 
'pages/podstrona.php';
break;

case 
'klucz2':
include 
'pages/podstrona2.php';
break;

deafult:
include 
'pages/podstrona3.php'//wyświetli się, gdy żaden wpisany klucz nie pasuje
break;
}



Legenda
$_GET['page'] - tablica GET, w której adres wygląda tak: index.php?page=strona
pages/ - folder z plikami
404.php - plik z błędem 404

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #1 dnia: Styczeń 29, 2011, 14:09:35 »
może fajnie trochę ułatwi życie,
ale jak już coś takiego polecasz, to możesz uprzedzić, że każdy może wyświetlić wszystko z tego folderu o dowolnym rozszerzu - skrypt jest niebezpieczny.

dotdotslash działa w dwie strony i jeszcze noll bitek ;D

więc jakiś plik w pages/tajne/tajne/supertajne/tajne.txt
można bez problemu odczytać ;d

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #2 dnia: Styczeń 29, 2011, 14:09:52 »
dotdotslash nie działa ;), chyba, że zastosuje ktoś nop w adresie: tajne/tajne/supertajne, jednak taka osoba musi znać nazwy folderów, bezpośredni dds (../tajne.txt) jest zabezpieczony tym: strpos($_GET['page'], '../') === false

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #3 dnia: Styczeń 29, 2011, 14:10:14 »
ale i tak da rade otworzyc wszystkie pliki w tym katalogu o róznych rozszerzeniach już pomijam, że trzeba widziec co sie tam znajduje, no ale da się to otworzyc

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #4 dnia: Styczeń 29, 2011, 14:10:31 »
Nie zgodzę się ;) foldery może i się da, ale otworzysz tylko pliki o rozszerzeniu .php, spójrz:
if ($_GET['page'] && file_exists('pages/' . $_GET['page'] . '.php') && strpos($_GET['page'], '../') === false)
konkretnie:  file_exists('pages/' . $_GET['page'] . '.php'), ściślej: jeśli istnieje plik $_GET['page'].php w katalogu pages ;)

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #5 dnia: Styczeń 29, 2011, 14:10:58 »
co z tego ze dopisujesz rozszerzenie php
wystarczy

index.php?page=tekst_różny_od_php.txt0%%

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #6 dnia: Styczeń 29, 2011, 14:11:10 »
Warning: include(tekst_r�ny_od_php.txt0%%.php)

jak widzisz, nie da się ;)

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #7 dnia: Styczeń 29, 2011, 14:11:33 »
oj kaczusiu... da się
po prostu albo nie chcesz się do tego przyznac....
albo namieszales rg

przy towim pierwszym skrypcie....
utworz sobie plik tajne.txt wsadz go do folderu pages...
i link niech wyglada tak..
index.php?page=tajne.txt%00

%00 pnb

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #8 dnia: Styczeń 29, 2011, 14:12:04 »

tutaj masz jeszcze dowodzik ;)
ten dziwny symbol w adresie  to własnie pnb po przeładowaniu firefox go 'koduje'
« Ostatnia zmiana: Styczeń 29, 2011, 14:12:18 wysłana przez Annoyer13 »

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #9 dnia: Styczeń 29, 2011, 14:12:36 »
A, teraz widzę, zwracam honor ;) trza zaznaczyć, aby w folderze pages trzymać tylko pliki podstron :)

sensitive

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Content - wyświetlanie treści na stronie
« Odpowiedź #10 dnia: Styczeń 29, 2011, 14:13:11 »
spoko ;p

php jest bardzo fajnym językiem ma ogromne możliwości i do tego nie jest trudny, ale trzeba zwracać uwagę na szczegóły jakie może wprowadzić user i manipulować jakimiś zapytaniami ;d