• Как обойти офисное ограничения скорости интернета для телефонов?

    Lopar
    @Lopar
    системный администратор
    Интересно получается. Вы просите нас рассказать, как обойти протоколы безопасности вашей организации, что само по себе может котироваться как уголовное преступление.

    При этом преступно считаете ваших безопасников полными кретинами, специально наоставлявшими дырок, чтобы любой с Хабра смог в деталях рассказать как их взломать.
    Ответ написан
    7 комментариев
  • Изучаю ООП, как лучше обрабатывать форму?

    Lopar
    @Lopar
    системный администратор
    Это тоже не до конца ООП, но вам бы стоило пробовать двигаться от вашего кода в сторону соблюдения условий: "одна функция - одно действие" и "повторное использование".

    Посмотрите, я переписал.
    <?php
    
    class SomeClass
    {
        private string $title = '';
        private string $content = '';
        private array $error = [];
    
        public function create(): void
        {
            if (empty($this->error)) {
                $this->add();
            }
            echo $this->getStatus();
        }
    
        private function add(): void
        {
            $query = "insert into posts set title = :title, content = :content, created = now()";
            $stmt = $this->conn->prepare($query);
            $stmt->bindParam(":title", $this->title);
            $stmt->bindParam(":content", $this->content);
            if (!$stmt->execute()) {
                $this->error[] = 'Запись в базу не прошла!';
            }
        }
    
        public function setTitle(string $string): void
        {
            if (empty($string)) {
                $this->error[] = 'Поле title не заполнено!';
            } elseif (strlen($string) <= 5) {
                $this->error[] = 'Поле title меньше 5 символов!';
            } else {
                $this->title = htmlspecialchars(strip_tags($string));
            }
        }
    
        public function setContent(string $string): void
        {
            if (empty($string)) {
                $this->error[] = 'Поле content не заполнено!';
            } else {
                $this->content = htmlspecialchars(strip_tags($string));
            }
        }
    
        private function getStatus(): string
        {
            if (empty($this->error)) {
                return '<div class="alert alert-success">Успешно!</div>';
            }
            $string = '';
            foreach ($this->error as $error) {
                $string .= "<li>$error</li>";
            }
            return "<div class=\"alert alert-danger\"><ol>$string</ol></div>";
        }
    }


    И в коде вызов, например:
    ...
    if (isset($_GET['title']) && isset($_GET['text'])) {
        $c = new SomeClass();
        $c->setTitle($_GET['title']);
        $c->setContent($_GET['text']);
        $c->create;
    }
    ...
    Ответ написан
    Комментировать
  • Как правильно разместить на сайте полику конф-ии, обработку перс. данных и договор-оферту?

    Lopar
    @Lopar
    системный администратор
    Совершая оплату на сайте, вы соглашаетесь с нижеизложенным: сслыка, ссылка, ссылка.

    Заметным текстом на видном месте. Чтобы нельзя было придраться, что вы нарочно спрятали данную информацию от пользователя.
    Ответ написан
    2 комментария
  • Как правильно вести "документацию"/ заметки сис админу?

    Lopar
    @Lopar
    системный администратор
    Раз в несколько лет вы будете кочевать туда сюда. Блокнот, Обсидиан, Ноушен, Докувики, Эксель\Ворд, Блокнот в клеточку. Постоянно мигрируешь туда-сюда потому что задачи меняются, старые записи устаревают и удаляются, новые записи подпадают под новые требования - что-то для себя, что-то на отдел расшарить итд. Были пароли в Кипасс, не хватало шашечек, переехал на битварден, пока переезжал и привыкал, за пару тройку лет шашешчки подъехали и в кипасс, теперь думаешь про обратный переезд.

    Это я к чему, серебрянной пули нет, а с опытом меняются привычки. Просто ведите там где удобно и наплюйте на наши мнения.
    Ответ написан
    Комментировать
  • Почему не заходит на сайт на конкретном пк, хотя у других компов в сети есть доступ к ресурсу?

    Lopar
    @Lopar
    системный администратор
    На компьютере на сетевом адаптере "приватная" сеть не переключилась на "публичную"? Изменение малозаметное, различия в правилах файрволла местами монументальные.
    Ответ написан
    Комментировать
  • Как автоматически перзагружать модем резервного интернета на микротик?

    Lopar
    @Lopar
    системный администратор
    1. Делаете маршрут на определённый адрес со второго порта.
    2. Делаете нетвотч этого самого адреса.
    3. Скрипт на падение пинга: /system/routerboard/usb/power-reset duration=1d (порт укладывается на сутки)
    4. Скрипт на возврат пинга: /system/routerboard/usb/power-reset duration=1s (порт стартонёт через секунду)
    Ответ написан
  • Как запустить установку Windows 11 при том, что выполнены условия для установки (TPM, Secure Boot)?

    Lopar
    @Lopar
    системный администратор
    Установить Windows 10 и проведите обновление через центр обновлений до 11.
    Ответ написан
  • Как дать одноразовый доступ к аккаунту Microsoft?

    Lopar
    @Lopar
    системный администратор
    Это невозможно. Для активации какой либо подписки Microsoft передача учётных данных третьим лицам не требуется. Как только ты это сделал - твоя учётка больше не твоя, и ты включаешься в азартную игру: кто первый выкинет соперника из учётки. И ты реально можешь необратимо потерять всё.
    Ответ написан
  • Какой Stick-usb-modem купить для Mikrotik 3011?

    Lopar
    @Lopar
    системный администратор
    Строго для этих целей удобнее всего взять Mikrotik LTE, воткнуть в него симку и рулить собственным решением, чем играться с модемами. Плюс такого решения: можно вывести на улицу на стену\мачту и получить сигнал получше чем в стойке или металлическом шкафу.
    Ответ написан
  • Как отредактировать данные в php файлах?

    Lopar
    @Lopar
    системный администратор
    Если у вас полностью статичный сайт и вы не хотите усложнять, то ваша текущая реализация самая неубиваемая.

    Если хочется немного удобнее, но всё ещё просто, используйте для хранения цен csv файл, который удобно редактируется в Microsoft Excel, а дальше обрабатывается функцией fgetcsv.

    Если хочется поиграться с базами, но всё ещё не переусложнять, посмотрите на БД SQLite - это хорошая база под ваши задачи, при этом все данные она хранит в единственном файле, который удобно переносить в случае чего. Скорее всего вам с головой хватит.

    MySQL будет чрезмерной. Всё таки отдельное приложение, пусть и встречающееся буквально везде, но это лишние телодвижения и не очень тривиальные бекапы. Можно, но незачем.
    Ответ написан
    Комментировать
  • Как правильно написать SQL запрос?

    Lopar
    @Lopar
    системный администратор
    Во вложенном запросе не использовать WHERE вообще, и при этом использовать DISTINCT.
    select `id` from table_1 where `id` not in (select distinct `UID` from table_2)
    Ответ написан
    Комментировать
  • Как отправить pdf файл в соцсети?

    Lopar
    @Lopar
    системный администратор
    Комментировать
  • Как объеденить Ubuntu и windows 10 в локальную сеть?

    Lopar
    @Lopar
    системный администратор
    Возможно вы в ssh ищете ключ -b для систем с несколькими интерфейсами?

    -b bind_address
    Use bind_address on the local machine as the source address of the connection. Only useful on systems with more than one address.
    Ответ написан
    Комментировать
  • Временный доступ и особые права в Windows?

    Lopar
    @Lopar
    системный администратор
    Если не хочется заморачиваться, купите недорогой NAS, который имеет удобный интерфейс и удобно закроет все ваши задачи. Какая-нибудь простая модель, вроде Synology DS118.

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

    Для того, чтобы дети сами не запускали всё подряд, всего лишь стоит лишить пользователей административных прав, и запаролить административную учётную запись. Любое действие требующее повышения прав запросит явно пароль администратора, который можно подходить и вводить вручную. Если хочется заморочиться, в продаже можно найти дешевые токены (например Yubikey: недорого, практично), которые вставляются в USB и по нажатию кнопки заполняют поле ввода статической строкой. Один такой ключ у преподавателя, и пароли можно делать хоть очень сложными - лишь бы токен не потерять.

    В качестве контейнера для приложений может идеально подойти Sandboxie - open source разработка для решения именно этих задач.

    Варианты с поднятием домена указанные выше, без сомнений, решат все проблемы, но эти варианты получатся заметно дороже (сервер, серверная ОС, специалист, который всё настроит, или куча затраченного времени, если самостоятельно). А с бюджетами в системе образования, говорят, туго.
    Ответ написан
  • Как перезагрузить страницу после определённой даты?

    Lopar
    @Lopar
    системный администратор
    Да, это костыль и так лучше не делать, а придумать более правильное решение.
    Но это выполнимо.
    if (!isset($_GET['reloaded'])) {
      while(1) {
        sleep(5);
        if(time() > strtotime($date_end)) {
          header('Location:currentpage.php?reloaded=1');
          exit;
        }
      }
    }
    Ответ написан
    Комментировать
  • Как добавить onclik по айди кнопки?

    Lopar
    @Lopar
    системный администратор
    Сформулировано немного всрато, но если я верно понял, и тебе необходимо вызвать РНР через onClick, то без бутерброда с Javascript не выйдет.

    php:
    function php_func(){
    echo "Stay Safe";
    }

    javascript:
    function clickMe(){
    var result ="<?php php_func(); ?>"
    document.write(result);
    }

    html:
    <button onclick="clickMe()"> Click </button>

    В результате ID можно подставить или через Javascript, или даже без него, просто вызывая нужную функцию в PHP. Но это всё костылинг.
    Ответ написан
    Комментировать
  • Подойдут ли память и диск к этой материнке?

    Lopar
    @Lopar
    системный администратор
    В спеках написано, что память 2666 не поддерживается, а соседняя 2667 со звёздочкой и нюансами. Я бы не рисковал.
    Ответ написан
  • Почему не выводит элемент из существующего массива на php?

    Lopar
    @Lopar
    системный администратор
    Всё выводит. Ищи проблему на своей стороне.
    Ответ написан
    Комментировать
  • Сборка ПК для изучения фронтенда?

    Lopar
    @Lopar
    системный администратор
    Не слушайте геймеров в треде. :)
    Возьмите больше памяти: запас карман не тянет.
    Откажитесь от HDD: вы будете чаще иметь дело с россыпью мелких файлов, лучше ssd.
    Кулер это лишняя трата денег, боксовый отлично охладит ваши мизерные нагрузки.
    Блок на 600 это оверкилл, можно взять на 400 и ничего не потерять.

    Если бюджет позволяет, можно взять Intel Nuc, например. Холодный, бесшумный, крохотный. Но полноценный десктоп.
    Ответ написан
    Комментировать
  • Апгрейдить или продать ПК?

    Lopar
    @Lopar
    системный администратор
    Если вы не ставите цель играть в игры, то камня i7 3770, 16 озу и ssd вам вполне может хватить ещё лет на пять - старые процы были весьма толковыми. SSD вы потом сможете перенести в новый ПК, как накопите, камень с памятью.. если учитесь на программиста и вам зайдёт, рано или поздно захотите себе мини-серверок под домашнюю лабораторию, с этой задачей такое железо сможет справляться ещё годы вперёд.

    Если рассматривать с этой стороны и не слушать геймеров, говорящих про "низкие фпс" и "gta не пойдёт", это железо вполне может помочь пережить кризис, пока не подкопите на ПК. Мы живём в чудесное время, когда одного компа запросто может хватить на десяток лет минимум, если ты не геймер.
    Ответ написан
    1 комментарий