• Защищить скрипт?

    @SergeyZelensky-Rostov
    разместить у себя на хостинге
    Ответ написан
    3 комментария
  • Что быстрее 10 запросов к файлам или 10 к базе?

    27cm
    @27cm
    TODO: Написать статус
    Что быстрее: спросить на тостере или проверить самому?
    Ответ написан
    1 комментарий
  • Что будет за публикацию уязвимости/бага в публику?

    Ommonick
    @Ommonick
    qa+dev (scala, golang, ts/js, api, grpc)
    Обычно делается так, багхантер находит уязвимость, изучает ее. Затем уведомляет тех, в структуре кого эта уязвимость находится, ждет некоторое время, если нет сподвижек по устранению уязвмости - публикует статью на тематическом ресурсе, пользуется уязвимостями, забивает на это дело - все в рамках его воображения.
    Однако ответственность за действия присутствует. Если в договоре связи указаны пункты о нештатных действиях относительно услуг связи, то за это могут и бо-бо сделать. Лучший профит в первую очередь - составление статей, получение опыта и славы специалиста, а уже потом выгода, полученная на оплошностях.
    Ответ написан
    Комментировать
  • Куда делись MVC шаблоны?

    @msuprunenko Автор вопроса
    C/C++ DirectX
    Это из-за обновления в visual studio. Что бы было всё нормально я нажал "Исправить" , через 4 часа всё норм.
    Ответ написан
    Комментировать
  • Нужно ли учить CIL для понимания .NET?

    @dmitryKovalskiy
    программист средней руки
    Ну можете конечно подучить. Но с тем же успехом можете учить ассемблер для разработки Windows-приложений
    Ответ написан
    Комментировать
  • Какие самые востребованные навыки для разработчика на C/C++?

    AtomKrieg
    @AtomKrieg
    Давай я поищу в Google за тебя
    Самый востребованный навык - самостоятельно гуглить ответы на возникающие вопросы
    Ответ написан
    4 комментария
  • Какой дистрибутив linux ставить для комфортного программирования?

    Olej
    @Olej
    инженер, программист, преподаватель
    что если бы был дистрибутив, который бы не требовал железа, на котором можно играть в самые современные игры и на котором бы не приходилось по несколько дней ставить обычный nodejs

    Ваш дистрибутив - Windows ;-)
    Ответ написан
    Комментировать
  • Чем может быть полезен C++ веб разработчику?

    Не нужен он веб-разработчику, автор статьи видимо олдфаг и просто любит С++ и суёт его в каждую дырку вот и всё.
    Ответ написан
    7 комментариев
  • Можно ли использовать скрипты в проекте C#?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Неудачно ник себе выбрали. Даже как-то объяснять не хочется.
    Ответ написан
    1 комментарий
  • Как правильно перенести сайт yii2 с localhost (windows) на хостинг (linux)?

    @kryvel
    Системный администратор
    Внимательно посмотрите какие права у папки assets (а также runtime) . Ее содержание генерируется автоматически и скорее всего Yii не может туда ничего записать.
    Вообще на папки лучше ставить права 755 а на файлы 644
    Ответ написан
    Комментировать
  • Какую IDE используют для промышленной разработки на C/C++?

    chernish2
    @chernish2
    Ruby-программист
    Ответ написан
    Комментировать
  • Где лучше прописывать условия в YII2?

    @djay
    1. Красиво ли и целесообразно писать условия и циклы в модели, а не в контроллере, если это удобнее?


    Да желательно писать всё что связано с обработкой бизнес-логики (там парсинги всякие) в моделе. В контроллере же, нужно это вызывать и просто передавать переменные ($_POST, $_GET)

    2. Мне нужно выполнять ajax запросы из БД. Стоит это оформить прям в контроллере или равносильно вынести ajax во вьюшку и передавать через POST уже контроллеру?


    Но ведь УРЛ от Ajax-запроса все равно вызывает экшен контроллера. POST'ом следует выполнять только то, что изменяет что-то - пишет в базу например. А для выборки нужно использовать GET. Во вью задаётся клинтская логика, которая вызывает урл и в ответ делается что-то - обычно это в 99% делается именно так.

    3. Как лучше - делать все циклы с массивами в контроллере и переменные уже передавать во вьюшку или равносильно, что и разбирать массивы во вью?


    Ни в коем случае не нужно разбирать массивы во вью. Во вью нужно просто отображать эти подготовленные массивы, а подготавливатся они должны в моделе и в случае необходимости изменять своё содержимое через экшены.

    Есть ли вообще какие-то правила по этому поводу - оформление кода?

    Почитай что такое SOLID, Separation of Concerns

    А что касается MVC:

    - то модели должны быть толстыми (вся обработка должна быть только там)
    - конроллеры тонкими (должны уметь только получать и передавать)
    - а вью - тупыми (должны знать только как отображать)

    Как-то так
    Ответ написан
    9 комментариев
  • Как отправить сообщение ВК от другого пользователя?

    @TsSaltan
    Увы, сделать это будет относительно нелегко.

    1. Создаём Desktop/Standalone приложение
    2. Потом надо авторизовать пользователя, получить access_token с правами messages. (scope=messages&response_type=token&display=mobile&redirect_uri=https://oauth.vk.com/blank.html)

    После авторизации в адресной строке пользователя, а именно в location.hash будет расположен токен. Но получить его без костылей не получится.

    3. Надо перехватить всё, что приходит пользователю от серверов вк.
    3.1 Можно создать граббер, который сам авторизуется на мобильной версии вк, а потом получит токен.
    3.2 Сделать нечто вроде анонимайзера. Отлавливаем перенаправление на vk.com/blank.html#access_token=*** и сохраняем полученный токен

    Легче писать граббер именно под мобильную версию.

    4. Ну если всё-таки удалось получить токен - vk.com/dev/messages.send

    К сожалению, разработчики вк сильно ограничили возножности веб-разработчиков.
    Ответ написан
    Комментировать
  • Как рассчитать прощедшее время?

    DevMan
    @DevMan
    $time = 'Wed May 20 18:11:23 +0000 2015';
    
    $datetime1 = new DateTime($time);
    $datetime2 = new DateTime();
    $interval = $datetime1->diff($datetime2);
    echo $interval->format('%R%a days');

    codepad.viper-7.com/QBKiQi
    Ответ написан
    Комментировать
  • Какие есть бесплатные домены без рекламы?

    webxaser
    @webxaser
    localhost
    Ответ написан
    Комментировать
  • Существуют ли НЕ видеоуроки по различным ЯП?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть такие штуки, книги называются, раньше говорят было модно.
    Ответ написан
    9 комментариев
  • Централизованное обновление нескольких сайтов?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Git/*, Composer. Я думаю есть множество разных способов это сделать
    Ответ написан
    Комментировать
  • Как защитить сайт от вредоносных атак?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Пользователь всегда врет. Все без исключения входящие данные ОБЯЗАТЕЛЬНО должны валидироваться, в случае ошибки - шлем на йух.
    2. Для средних систем - вполне норм подход: во всех публичных методах выполнять обязательную проверку всех аргументов простых типов, чуть что не так - исключение. Так как проверок будет море - критично время их выполнения, можете посмотреть мой проектик: https://github.com/ko-ko-ko/php-assert

    Пример использования:
    /**
     * @param string $login
     * @param string $password
     * 
     * @return int
     * @throws \InvalidArgumentException
     */
    public function login($login, $password)
    {
        Assert::assert($login, 'login')->lengthBetween(4, 16);
        Assert::assert($password, 'password')->lengthBetween(6, 20);
        
        // Business logic here
    }

    Код конечно после таких действий не самый красивый, но надежный. В случае действительно крупного проекта - вполне норм делать проверки в приватных и защищенных методах. Многомерные массивы как аргументы методов можно использовать только в безвыходных ситуациях.
    3. Гетеры и Сеттеры - обязательно. По хорошему классов с публичными свойствами быть не должно.
    4. Права на запуск ТОЛЬКО у точек входа, например index.php.
    5. Log - твой друг. Каждое исключение обязательно должно сохраняться для выяснения причин.
    6. Жесткая блокировка типов запросов. Например на главной - только GET, на login - только POST.
    7. По хорошему в мир должен смотреть только 80/443 порты.
    8. Блокировка сканнеров - в случае подключения запросов на то, чего у вас нет публично, pma (phpmyadmin) например - банить по ip на час, или больше. *Если у вас таки есть публичный pma - сами себе злобные буратины))
    9. По хорошему - стоит снимать метрики работоспособности вашей системы, например в zabbix, это косвенно решает проблему безопасности: отклонение метрик - маячок.
    10. Система контроля версий на проде обязательна, но с заблокированным push + системные файлы vcs закрыты для мира.
    11. Доступ к проду только у сисадмина и тим лида.
    12. Ручные правки кода в не релизное время выполняет тимлид и только после апрува руководства. Эти правки ОБЯЗАТЕЛЬНО должны быть сохранены в репозиторий в ближайшее время, например в течении 3-х дней.
    Ответ написан
    1 комментарий
  • Как сгладить все объекты на форме(winforms)?

    TechCloud
    @TechCloud Автор вопроса
    1 + 1 = 3
    Нашёл как исправить проблему(может кому-нибудь понадобится).
    Нужно просто оптимизировать под высокое значение DPI.
    В Program.cs пишем:
    [STAThread]
        static void Main() {
            if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyForm());             //редактируем как нужно
        }
    
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        private static extern bool SetProcessDPIAware();
    Ответ написан
    Комментировать
  • Проверка пароля регулярным выражением?

    dmeroff
    @dmeroff
    Вы меня, конечно, извините, но зачем ограничивать пользователя в выборе пароля? Зачем ограничивать длину пароля сверху? Зачем вырезать спецсимволы из его пароля, если он все равно будет хэширован (вы ведь хэшируете пароль, а не храните его plain текстом?)? Просто ограничьте минимальную длину пароля символами шестью.

    P.S. И вообще как же меня выводят из себя всякие ограничения для пароля, типа: введите одну цифру, одну букву, одну букву в верхнем регистре, один спецсимвол, один китайский иероглиф. Для людей, которые делают такие формы, в аду, наверное, есть отдельный котел.
    Ответ написан
    1 комментарий