Step1 用bash进入程序的根目录, 运行如下指令, 生成程序中所有php文件的列表findphp.txt
find ./ -name '*.php' > findphp.txt
Step2 新建一个文件叫getSh.php, 用于生成sh代码, getSh.php如下
<?php
$fileQ = file_get_contents('findphp.txt');//这里填写刚才生成的findphp.txt的路径
$fileQ = explode("\n", $fileQ);
$x = [];
foreach ($fileQ as $k => $v) {
$a = strrpos($v, '/');
$b = substr($v, 0, $a);
if (!in_array($b, $x) && strlen($v)) {
array_push($x, $b);
}
}
$sh = '';
foreach ($x as $k => $v) {
$sh .= "chattr +i $v/*.php \n";
}
echo '<pre>';
print_r($sh);
Step3 运行getSh.php得到sh脚本, 可以在浏览器中复制, 把它保存成chattr_lock.sh
Step4 把 chattr_lock.sh 拷贝到网站的根目录 -> 保证它的权限是777, 用如下命令运行 chattr_lock.sh
./chattr_lock.sh
这样, 程序中所有php文件就被加锁了, 很多木马也拿它们没有办法.
建议读清逻辑, 并备份重要文件后, 再使用这个方法, 以防重要文件被损害.