Cizi php soubory
- saimons
- Člen | 293
Chtel bych se zeptat na to jak resit zabezpeceni cizich php souboru. Mam rozjety cely web na nette ale pouzivam plugin do tiny_mce na upload fotek a potreboval bych pouzit zabezpeceni z nette. Sticilo by mi pouze zjistit jestli je uzivatel prihlasen nebo ne a pakud ne tak presmerovat. Ty soubory pro upload jsou uplne oddelene a v jine slozce.
- Ondřej Mirtes
- Člen | 1536
A co si na ten upload fotek vytvořit vlastní Presenter, podobně jako je třeba TexylaPresenter?
- Tharos
- Člen | 1030
Nevím, jak je tomu přímo u TinyMCE, ale předpokládám, že obsahuje nějaký „PHP connector“ (anebo jak to správně nazvat) což je skript, se kterým editor ajaxově komunikuje. Proto by neměl být problém na začátek toho skriptu připojit něco ve smyslu:
<?php
require_once(dirname(__FILE__).'/......../libs/Nette/loader.php');
$user = Environment::getUser();
if (!$user->isAuthenticated()) {
die();
}
?>
- Ondřej Mirtes
- Člen | 1536
Já bych se bál, že tohle nebude fungovat. Nette v tomhle místě nebude mít napojení na aplikaci, tzn. možná ani ne na sessions, cache, vlastní třídu Permission apod., takže bych to nedělal.
- Tharos
- Člen | 1030
No, já to takhle s úspěchem používám u jiného wysiwygu. :) Ale než jsem to pustil do světa, otestoval jsem snad všechny v úvahu připadající kombinace přihlášení/nepřihlášení a vše fungovalo podle očekávání. V mém případě, kdy jsou aplikace i connector k wysiwygu na stejné doméně, má skript v connectoru k dispozici úplně stejné cookie, takže i session a spol. Ale určitě je to třeba individuálně otestovat.
- MartyIX
- Člen | 217
saimons napsal(a):
diky za iformace, udelal jsem to takhle a vypada ze to funguje dobre:
<?php require_once('../../../Nette/loader.php'); $user = NEnvironment::getUser(); if (!$user->isAuthenticated()) { header("location:http://neco.cz/"); die(); } ?>
Mohl by mi prosim nekdo vysvetlit, proc je potreba volat jeste funkci
die? Bez ni priklad nefunguje korektne.
Uz parkrat jsem si vsiml, ze Nette jakoby bezi nejak dvakrat..
Editoval MartyIX (30. 9. 2010 23:39)
- saimons
- Člen | 293
Tak jsem presel na Nette 2 a zjistil jsem ze timto zpusobem nezle zabezpecit cizi kody? Nedokazu timto zpusobem nacist identiu. Nevimte jak by se to dalo vyresit?
<?php
require_once('../../../Nette/loader.php');
$user = NEnvironment::getUser();
if (!$user->isLoggedIn()) {
header("location:http://www.neco.cz/");
die();
}
?>
Editoval saimons (25. 2. 2011 12:38)
- saimons
- Člen | 293
Tak uz jsem na to prisel, je potreba jeste pripojit slozku sessions. tak to muze byt nasledovne Nette 2:
<?php
require_once('../../../Nette/loader.php');
$session = NEnvironment::getSession();
$session->setSavePath('../../../../app/sessions/');
$user = NEnvironment::getUser();
if (!$user->isLoggedIn()) {
header("location:http://www.neco.cz/");
die();
}
?>