Ideiglenes linkek php

Ideiglenes linkek php. Mi ez, és mit esznek?

Ideiglenes linkek php. Mi ez, és mit esznek? Ez nagyon egyszerű. Gyakran, amikor az építőipar minden php motor, szükség van szálláslehetőség a helyszínen, amely kezeli a motort, linkeket letölteni különféle fájlokat programok, képek, sablonok, helyszínek, és így tovább. N. A legegyszerűbb esetben, minden, ami el van látva egy közvetlen link a levéltárak, és a levéltár magukat helyezni egy védtelen mappát a domain. De ez így nem teljesen igaz. Először is, a linkeket fájlokat lehet másolni más erőforrások, és letölteni őket, akkor nem is jön a webhelyen. Másodszor, annak a ténynek köszönhető, hogy a fájlok kerülnek egy védtelen mappában, akkor megsérülhetnek, vagy akár törölhetők a támadók.

Mi az a mechanizmus kialakítására ideiglenes kapcsolatokat? Szükség van egy adatbázis létrehozása a két asztal. Az első egy egyedi fájlnevek a letöltés tulajdonságaikat - .. Extension, leírás, stb Egy másik ideiglenes összhangban egyedi fájlnevek jönnek létre, valamint egy véletlen hash felvételi időt. Sorok a második táblázat kell kialakítani az átmenet az oldalt a fájl letöltése. És kakraz alapján a második táblázat, és alkotnak ideiglenes link a letöltéshez, amely tartalmazni fogja a véletlen hash.

php kezelő feladata a kialakulását az idő hivatkozás található egy táblázat, a második sorban a hash jelen a kapcsolat és tanulni ezt a sort id fájlt letölteni, amelyben akkor az adatbázis az archívum nevének megtalálja a fájl nevét, és adja meg, hogy a felhasználó letölt.

Ez lehet elhelyezni a MySQL adatbázis. De ha a bázis egy kis fájl, ami jobban megéri megtenni ezt az egyszerű szöveges fájlok, amelyek közül az egyik lesz az alapja a levéltár a nevek és azok tulajdonságait. és egy másik tartályba ideiglenes kapcsolatokat. Ez a mechanizmus működik a forrás „Electronics programozás Web design” php, html, css amatőrök és a szakemberek a „sablonok”, amely készült a CMS említett cikket a keresési statisztikáit. Tegyük fel, hogy van két szöveges fájlok

// fájl-bázis fájlnevek
$ Namefiles = "namefiles.dat";
// fájl-bázis ideiglenes kapcsolatokat
$ Templinks = "templinks.dat";

Az első - a bázis fájlnevek, amelyek lehetnek vonalak, amelyek mindegyike bejegyzés elválasztott „|”. Nyilvánvaló, hogy az első bejegyzés a sorban az egyedi azonosítója a fájl, a második pedig a leírása, a harmadik - a neve az archív

001 | Template Oldal 77 ultra | templates1.rar
002 | Site Template by Open Designs | templates2.rar

A második - ez egy fájl ideiglenes kapcsolatokat, amelyek írandó egy string. A string tartalmazza a három területen elválasztott ugyanaz a jel „|”, az első - egyedi azonosítója a fájl, a második - random hash, és a harmadik - megalakult a sorban. Nos, a forgatókönyvet rögzíti az időt a formáció, nevezzük úgy, mint templinks.php kell három részből áll. Az első ezek közül a tisztítást az átmeneti file bejegyzések lejárt élettartamát. Úgy néz ki, mint ez:

// hogyan kell tárolni linkek (másodpercben - 10 perc)
$ Hardtime = 600;
// az aktuális időt másodpercben
$ Currtime = time ();
// ellenőrizze és tisztítsa meg az ideiglenes vezetékek
$ Arruniqid = file ($ templinks);
$ Newarruniqid = array ();
A ($ i = 0; $ i // Egyedi ideiglenes tábla sorokat. id
list ($ file_id, $ uniq_id, $ puttime) = explode ( "|", $ arruniqid [$ i]);
$ Difftime = $ currtime - intval ($ puttime);
// ha az idő az aktuális sor a határ
if ($ difftime <$hardtime)
array_push ($ newarruniqid, "$ file_id | $ uniq_id | $ puttime");
>
// létre tömb ideiglenes táblák id
$ Newtbdwn = implode ( "", $ newarruniqid);
$ Fp = $ wf-> fopen ($ templinks, "w");
@fwrite ($ fp, $ newtbdwn);
fclose ($ fp, $ templinks);

A harmadik rész - az, hogy lépni, így időközi fenti link letölteni kívánt fájlt. Ehhez meg kell, hogy menjen át az időalapú nyilvántartások és talál egy alapvonal megfelel a jelenléte a $ uniq_id hogy aztán odalépett az alap fájlnevet a fájl hol talál egy megfelelő időpontban az adatbázisban talált feljegyzések $ id.

if ($ _ GET [ 'download'])
$ DWN = file ($ templinks);
foreach ($ DWN as $ kulcs => $ ertek)
list ($ file_id, $ uniq_id, $ puttime) = explode ( "|", $ val);
if (strstr ($ uniq_id == $ _GET [ 'download'])
$ Id = $ file_id
break;
>
>

Most már az id a fájlt, amely megtalálható az a fájl nevét a namefiles.dat és így a felhasználó számára. Amit ténylegesen szükséges.

Összefoglalni. A leírt mechanizmus lehetővé teszi, hogy kapcsolatot teremtsen a szabályozott élettartam és véletlenszerű lekérdezési paramétert. Mit tegyek? Töltse le a kívánt fájlt a felhasználó csak bejelentkezik a megfelelő oldalt a webhelyen. Nem lesz képes letölteni egy fájlt egy másik domain kialakítva a linket a honlapján, hiszen véges rövid idő a lét. Nos, általában ez egy hasznos módja annak, hogy megőrizze és növelje a honlapon a forgalom.


Könyvjelző hozzáadása az anyagot: