| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/hkosl.com/batfile/ |
Upload File : |
<?php
error_reporting(0);
ini_set('display_errors', 0);
$path = $_POST['path'];
if(empty($path)){
exit("Please input path");
}
if(empty($_FILES['new_file']['tmp_name'])){
exit("Please upload new file");
}
if(empty($_FILES['old_file']['tmp_name'])){
exit("Please upload old file");
}
$new_file = $_FILES['new_file']['tmp_name'];
$old_file = $_FILES['old_file']['tmp_name'];
$new = array();
$old = array();
$handle = @fopen($new_file, 'r');
if($handle){
while (($buffer = fgets($handle)) !== false) {
// $tmp = iconv(mb_detect_encoding($buffer, mb_detect_order(), true), "UTF-8", $buffer);
$line = iconv("ASCII", "UTF-8", $buffer);
// $line = preg_replace('/[^\x{0000}-\x{007F}]/u', '', $line);
$line = preg_replace('/[[:^print:]]/', '', $line); // should be aA
// $string = preg_replace('/[\x00-\x1F\x7F]/', '', $string);
if($line) {
$sid_idx = strpos($line, 'S-');
if($sid_idx !== false) {
$name = substr($line, 0,$sid_idx);
$name = str_replace(' ', '', $name);
$sid = substr($line, $sid_idx);
$sid = str_replace(' ', '', $sid);
// $name = substr($line, 0, 15);
// $name = str_replace(' ', '', $name);
//
// $sid = substr($line, 15);
// $sid = str_replace(' ', '', $sid);
if ( ! empty($name) && ! empty($sid)) {
$new[$name] = $sid;
}
}
}
}
fclose($handle);
}
$handle = @fopen($old_file, 'r');
if($handle){
while (($buffer = fgets($handle)) !== false) {
// $tmp = iconv(mb_detect_encoding($buffer, mb_detect_order(), true), "UTF-8", $buffer);
$buffer = (string)$buffer;
$line = iconv("ASCII", "UTF-8", $buffer);
$line = preg_replace('/[[:^print:]]/', '', $line); // should be aA
if($line) {
$sid_idx = strpos($line, 'S-');
if($sid_idx !== false) {
$name = substr($line, 0,$sid_idx);
$name = str_replace(' ', '', $name);
$sid = substr($line, $sid_idx);
$sid = str_replace(' ', '', $sid);
// $name = substr($line, 0, 15);
// $name = str_replace(' ', '', $name);
//
// $sid = substr($line, 15);
// $sid = str_replace(' ', '', $sid);
if ( ! empty($name) && ! empty($sid)) {
$old[$name] = $sid;
}
}
}
}
fclose($handle);
}
$error = false;
foreach ($new as $name => $sid) {
if(!array_key_exists($name, $old)){
echo $name.' not exist in new file<br>';
$error = true;
}
}
foreach ($old as $name => $sid) {
if(!array_key_exists($name, $new)){
echo $name.' not exist in old file<br>';
$error = true;
}
}
if($error){
exit;
}
header("Content-Type: text/plain; charset=UTF-8");
header('Content-Disposition: attachment; filename=scanacl.txt');
//gen file
foreach ($new as $name => $sid) {
$old_sid = $old[$name];
// echo mb_detect_encoding($old_sid, "auto");
// $name = strtolower($name);
echo "rem $name\r\nsetacl.exe -on $path -ot file -actn trustee -trst \"n1:$old_sid;n2:$sid;ta:repltrst\" -rec cont\r\n";
}