Autor Zpráva
Nevínek
Profil *
Potřeboval bych na svém serveru v určitém adresáři vytvořit automatické soupisky všech souborů (včetně *.php), které se v tom daném DIru nacházejí....

Chci si to ukládat , aby CRON poté kontroloval zda-li mi tam nějaký "zločinec" něco nového nepodstrčil....

Výstup může být txt, nebo i zapisu do DB se nabráním, jen nevím co nato použít?
Stačí mi položky název soubory, cesta a datum vzniku souboru.........
Díky za tipy
Yur4Y
Profil
Nevínek:
název soubory
scandir()
cesta
pathinfo()
datum vzniku souboru
filectime()
txt
file_put_contents()
Nevínek
Profil *
....super, díky!
asi to budu Cronem prohánět 1x denně, nebude problém když bude mít adresář i několik stovek záznamů... "nespadne" mi server?
Beavis
Profil
Nevínek:
Pokud nejsou nějak extrémně objemné, nemělo by se to stát.
Majkl578
Profil
$data = '';
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/foo/bar')) as $file) {
	if ($file->getFilename() === '.' || $file->getFilename() === '..') continue;
	$data .= 'Název: ' . $file->getFilename() . ', '; //název
	$data .= 'Složka: ' . $file->getPath() . ', '; //složka
	$data .= 'Vytvořeno: ' . $file->getCTime(); //datum vytvoření
	$data .= "\n";
}

file_put_contents('/foo/log', $data); //zápis
Lamicz
Profil
Majkl578:
Asi bych to napsal jednodusseji bez OOP (i kdyz delsi)
nightfish
Profil
Lamicz:
Asi bych to napsal jednodusseji bez OOP (i kdyz delsi)
tak to nelze než ti pogratulovat
Nevínek
Profil *
díky MAjkl578, bravo !!!

Začínám a rád se přiučím, ale o tomhle nemám ani páru
.... new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/foo/bar')).....

a v PHP manuálu
(http://phpweb.ohel-shem.com/manual/cs/function.RecursiveDirectoryIterator-key.php)
ani na Googlíku jsem srozumitelné vysvětlení nenašel, může mě někdo dát info, kde bych se poučil?
Lamicz
Profil
To je součást SPL knihovny, která je dost špatně zdokumentována (resp. je dostatečně pro OOP znalce). Nazval bych to "třešnička na OOP dortu v PHP".
Trochu víc info je na domovské stránce PHP vývojáře Helly.
Majkl578
Profil
Lamicz:
Nazval bych to "třešnička na OOP dortu v PHP".
To by mě zajímalo, co je třešnička na procedurálním dortu?

SPL je rozšíření, které často dost usnadňuje práci, zejména SPL výjimky a iterátory. Nevím, proč třešnička. Magie metod __get() a jí podobných mi asi spíš přijdou jako třešnička.
AM_
Profil
Nevínek:
Chci si to ukládat , aby CRON poté kontroloval zda-li mi tam nějaký "zločinec" něco nového nepodstrčil....
- zločinec většinou modifikuje současné soubory, samozřejmě někdy i přidává nové, ale řekl bych spíš v menšině případů
- virus / útočník udělá nejvíce škody většinou už ve chvíli, kdy se do počítače dostane
- budeš muset rozlišit, co jsi změnil nebo se změnilo úmyslně a co je potenciální útok

Je to docela zajímavá myšlenka, můžeš si to udělat jako kontrolu, nicméně nemysli si, že tím nějak výrazně stoupne bezpečnost, jen se třeba vyhneš trapasům, kdy ti na webu dva týdny visí stejný vir.
Nevínek
Profil *
Máš pravdu.... (AM_) ale právě jsem to začal řešit kvůli tomu že mi na webu ten vir už dvakrát visel a vždy jsem měl includované nové útočníkovy kódy.... a toho si člověk sám rychle nevšimne...

Dále ještě porovnávám (sleduji) hodnoty datumů kdy vznikly soubory - nemám zase tak objemný projekt aby to byl problém, akorát nevím zda-li je může nějak útočník kamuflovat (podstrčit) datum vznik souboru?

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0