Você pode impedir que hackers usem código PHP para alterar o tempo de modificação ( mtime
) dos arquivos que podem ser gravados pelo seu servidor web desabilitando as funções PHP (como touch
) usando a opção [disable_functions][1]
em php.ini
arquivo de configuração.
No entanto, o tempo de modificação de acompanhamento não é a abordagem correta porque o tempo de modificação dos arquivos não é alterado quando são enviados para o servidor (ou seja, esse tempo pode ser muito mais cedo do que o tempo em que o sistema é violado). Uma abordagem melhor é controlar o tempo alterado do status ( ctime
) do arquivo inode. Para demonstrar o que quero dizer:
$ touch test.txt
$ stat test.txt
File: ‘test.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
...
Access: 2014-10-28 05:51:10.329081380 +0000
Modify: 2014-10-28 05:51:10.329081380 +0000
Change: 2014-10-28 05:51:10.329081380 +0000
$ touch -t 10011234 test.txt
$ stat test.txt
File: ‘test.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
...
Access: 2014-10-01 12:34:00.000000000 +0000
Modify: 2014-10-01 12:34:00.000000000 +0000
Change: 2014-10-28 05:52:57.669657564 +0000 <= unadulterated by touch
Sem acesso root, acho que é impossível modificar ctime
.