Programování - Anketa na téma přesměrování

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Jak provádíte přesměrování ve scriptu - PHP

header('Location: soubor.php');
4
67%
die(header('Location: soubor.php'));
2
33%
echo '<script>window.location.href="soubor.php";</script>';
0
Žádná hlasování
echo '<meta http-equiv="refresh" content="3;url=soubor.php">';
0
Žádná hlasování
 
Celkem hlasů: 6

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 03 bře 2014 16:46

Zdravím všechny programátory a vývojáře webů, už po xté jsem se setkal s problémem přesměrování na stránce, který vedl k snadnému prolomení bezpečnosti webu, typický příklad administrace, zkontrolujete zda-li je cookie nebo session prázdná a v případě vrácení hodnoty true přesměrujete, mnozí z programátorů tak vytvoří fatální chybu, otázka prolomení je 10 sekund.

Dejme si příklad, mám administraci na webu : /admin/admin.php

V souboru admin mám script, která zkontroluje, zda-li se uživatel přihlásil, pokud ne, tak ho to přesměruje nejspíše na index, tedy /admin/index.php a tam ho to poprosí o přihlášení, jde mi o kus kodu, kterým ho přesměrujete, tedy header...

Prosím všechny, kteří o tomto fatálním problému vědí, nepište to. - Napíši to sám v závěru :D
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

Reklama
CatalystCZ
Level 2.5
Level 2.5
Příspěvky: 279
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod CatalystCZ » 03 bře 2014 16:54

Myslis tohle?

<?php header
("Location: stranka.php"); exit;
?>


Odesláno z mého MT15i pomocí Tapatalk

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 03 bře 2014 16:55

Nevím, jestli je chyba na mojí straně, ale bohužel nevidím, to co jsi napsal.
Hlasuj v anketě, tam to snad uvidím.
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

CatalystCZ
Level 2.5
Level 2.5
Příspěvky: 279
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod CatalystCZ » 03 bře 2014 16:57

Uz jsem to doplnil :-)

Odesláno z mého MT15i pomocí Tapatalk

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 03 bře 2014 16:58

Ano, přesně tohle myslím, zatím nebudu prozrazovat správnost.
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Programování - Anketa na téma přesměrování

Příspěvekod domitea » 03 bře 2014 22:23

Tam není můj nejoblíbenější způsob:

Kód: Vybrat vše

<a href="stranka.html">Pokračujte dále</a>


Takhle se na ten web dostanou převážně lidé, kteří mají o to zájem ;)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Programování - Anketa na téma přesměrování

Příspěvekod CZechBoY » 03 bře 2014 23:23

Ideální je nakombinovat všechny dohromady :D
ovšem

Kód: Vybrat vše

exit; 
až na konec, nejlépe bez parametrů.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 04 bře 2014 08:44

Nejspíše to větší ohlas nebude mít, napíšu to, až přijdu ze školy, pokud tady budeš cz dříve, než já, tak to napiš za mě, díky.
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 05 bře 2014 17:34

Ok, neuvedl jsem zdaleka všechny možnosti, kterými by to šlo provést, nic méně to nemění nic na tom, že by script měl po přesměrování skončit, nebot přesměrování jde vypnout, at už lokálně nebo globálně pro všechny weby, představme si tedy, že máme web, kde se uživatel přihlásí a přesune ho to do administrace, co v případě, že uživatel jde rovnou k souboru, kde se nachází administrace? Je to snadné, každý z nás by postupoval následně, nejprve bychom si ověřili relaci scriptu(session) nebo koláček(cookie), v případě neshody nebo neinicializované či ne setnuté cookie/session bychom uživatele přesměrovali zpět na přihlašovací formulář. Představme si ale situaci, že uživatel má zakázané přesměrování, poté se nám snadno dostane do administrace a bude moci částečně editovat, záleží podle systému.

Jsou dvě možnosti, první z nich je ukončení scriptu po přesměrování, uživatele to přesměruje a v případě zakázaného přesměrování se script zastaví, to je první možnost. Druhá možnost je ta, že můžeme logiku systému jako je třeba edit/insert apod. vložit do podmínky, ve které bude něco ve stylu "if($_SESSION['test'])" a logika aplikace se provede pouze v případě, že je uživatel přihlášen.

To je ode mne vše, možná si říkáte, proč jsem to sem vložil, jde o to, že pár dnů zpátky jsem opravoval web a narazil jsem na stejný problém a není to poprvé, takových webů je x.
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Programování - Anketa na téma přesměrování

Příspěvekod CZechBoY » 05 bře 2014 19:51

Dělá se to prvním způsobem.
Navíc chybí autorizace v tom případě :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
iTerminator
Level 1.5
Level 1.5
Příspěvky: 132
Registrován: únor 14
Pohlaví: Muž
Stav:
Offline

Re: Programování - Anketa na téma přesměrování

Příspěvekod iTerminator » 05 bře 2014 21:59

Nechybí autorizace, pokud se nepřihlásil, tak relace zůstane prázdná, pokud se přihlásil, tak do ní můžeme nacpat třeba id.
... na co jsem se v Nette podíval a co by většina programátorů napsala špatně, to bylo správně, vzorově. - Jakub Vrána

Do SZ mi píšete zbytečně, neboť problémy řeším pouze v tématech.
Za radu je slušné poděkovat.
Važ si rady, práci za tebe neudělám.

Používej Google!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Programování - Anketa na téma přesměrování

Příspěvekod CZechBoY » 06 bře 2014 20:34

No, tak když nechybí tak proč může kdokoliv dělat cokoliv? :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti