Zdravím všechny,
řeším teď takovou záležitost. Abych snížil počet dotazů na databázi, chtěl bych kešovat obsah pluginu tak, aby se mi po každé zobrazené stránce neustále dotazoval do databáze. Vás bych se chtěl zeptat na Váš názor, zda-li si myslíte, že je to dobrá cesta, zda to má smysl a nakolik je můj způsob bezpečný (jelikož moc nechápu obranu proti sql injection apod.) a v případě, že ne, tak jak to zabezpečit.
Díky za Vaše názory.
POPIS:
Mám typický plugin.
výkonný soubor s fcí do které se načítá obsah zdrojové stránky, kde je například pouze výstup, který běžně obstarával původní plugin a jehož výsledek se jednou za čas dle nastavení načte do složky cache.
function BlokiAktuality($url='',$ttl = 5 )
{
$cesta='cesta k souboru';
$urlnourl='obsah pole při nenačtení adresy zdroje';
$url = ''.$cesta.'blok-i-aktuality-o.php';
// vychozi priznak
$cached = true;
// nenalezen soubor nebo probehl expiraci
if (!is_file("'.$cesta.'cache/" . md5($url)) || time() - filemtime("'.$cesta.'cache/" . md5($url)) > $ttl)
$cached = false;
// neni kesovano
if (!$cached)
{
// debug
//echo "znovu parsujeme tabulku - " . date('d.m.Y H:i:s');
$f = file_get_contents($url);
if (!$f)
{
echo ''.$urlnourl.'';
return;
}
$vysledek = $f;
// ulozime
file_put_contents("'.$cesta.'cache/".md5($url), $vysledek);
}
// nacteme tabulku
$vysledek = file_get_contents("'.$cesta.'cache/".md5($url));
$blokiaktuality=''.iconv("", "utf-8", $vysledek).'';
// zobrazeni menu
switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
case 4: Blok4($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
case 5: Blok5($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$blokiaktuality); break;
endswitch;
}
LinkedIn - Zdeněk Pikulík
Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce