Задать вопрос
  • SQL-инъекция. Могли бы подсказать, что можно сказать об этом?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Бояться надо не тех запросов, которые вернули 500, а тех, которые вернули 200.

    500 означает что атака не прошла.
    То что ты здесь видишь - это не инъекция, это попытки, проверка на инъекцию. Неудачные.
    Удачные ты здесь не увидишь.

    В принципе, то что код возвращает 500 - это тоже косяк. Это значит что код кривой и потенциально там может быть инъекция. Ну или не может - не видя кода сложно сказать.

    Двигаться в нправлении нанять специалиста
    Ответ написан
    Комментировать
  • SQL-инъекция. Могли бы подсказать, что можно сказать об этом?

    DevMan
    @DevMan
    да, это выглядит как инъекция.
    но, если это прост сохраняется/выводится и НЕ имеет непосредственного влияния на базу, то беспокоится особо не о чем.
    кроме анализа откуда такое прилетает и блокировки, если возможно.
    Ответ написан
    1 комментарий
  • Битрикс загибается?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    И да и нет.
    Битрикс 24 как продукт компании куда как интересней и развивает он его явно активнее чем просто битрикс
    НО б24 сделан на битрикс так что полное вымирание ядра явно не грозит.
    Но кризис на лицо.
    Так же нужно понимать что рынок битрикс сужается
    снизу теперь его поджымают конструкторы, а в топе самопись.
    так же как вы заметили обратная совместимость битрикс дает о себе знать, на их месте я бы уже давно отказался от поддержки обновлений начиная с 7 версии, это же маразм никто в жизне не будет поднимать 7 битрикс до 20.
    Но политика партии, скорее всего все прийдет к тому же что и у php рано или поздно отказавшись от старого кода написав все заново, но время ввода D7 на рынок говорит то том что эта стратегия была провальна, выводить технологиию 10 лет это даже не смешно.
    Так же нужно понимать что у разрабов битрикса уже сложилось свое мнение.
    К примеру разговаривая с Садониным я спросил у него собираются ли они как-то изменять "эрмитаж" на что они сказали что он работает заебись, и никаких изменений не требуется!!!!
    Дада Вот это убожество по их мнению в 2020 совершенно нормально работает.

    В общем
    - Да интерес битрикс к битрикс падает в следствие б24
    - обратная совместимость делает невозможность сделать действительно достойный релиз.
    - застой технологии как таковой. С появлением kubernetas рано или поздно битрикс должен или перебраться полностью в облако или издохнуть или найти 3 путь, как и остальные движки.
    - Судьба php на данный момент находится ровно в той же позиции что и битрикс, оно все еще доминирует на рынке веба но есть куча мощьнейших конкурентов которые не дремлят.
    + Битрикс де факто еще является стандартом екомерц в РФ , и по факту его заменить тупо нечем.
    Делать проект с бюджетом в 1-10 млн на самописи это маразм, так что тут битриксу замены нет.
    В топовом сегменте битрикс никогда и не использовался, за исключением собственно чистого екомерц да и то как исключение.
    Ответ написан
    10 комментариев
  • Как перебирать прокси, пока не найдём рабочий?

    riot26
    @riot26
    <:З )~~
    https://gist.github.com/riot26/9161d2cb2ae6dda42af5
    там есть функция для проверки прокси
    Ответ написан
    Комментировать
  • Как обработать клик по каждому Counter-у в каждом дочернем компоненте?

    0xD34F
    @0xD34F Куратор тега React
    Храните значения count отдельно в каждом экземпляре Child.

    Или все вместе в Parent, и передавайте их в Child вместе с функцией, которая будет устанавливать новое значение.
    Ответ написан
    Комментировать
  • Что изучить для удаленной работы с нуля без перспектив офиса?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Ничего. Ну в смысле ничего не получится :(

    Огромная, чудовищная, невероятная конкуренция, которая сейчас в связи со всей этой байдой - только усилилась. "Миллионы индусов" - это не оборот, это реальность. И не только индусов - миллионы людей пашут в веб-программировании как макаки за пачку доширака. Вы уверены, что сможете их обойти при том, что общаться голосом с заказчиком Вы не сможете? (А составить текстовый документ - для некоторых людей это подвиг, равный победе Геракла над Немейским Львом и Лернейской Гидрой, вместе взятыми - я знаю отличных спецов, которые блистательные проектировщики, но спасуют перед служебкой из трех строк).
    А на удаленку джунов не берут - как его контролировать и кто будет отвечать за сорванный дедлайн? Хотя сейчас, опять же со всем этим жутким бардаком, может и берут...
    Если Вы в РФ - обратитесь в службу занятости. Есть такая вещь, как инвалидская квота для работодателей.
    Ответ написан
    Комментировать
  • Данные через Fetch() в PHP и обратно. Как отправить объект / массив?

    @dpws
    <?php
    $out[] = json_decode(file_get_contents('php://input'));
    $out[] = 100;
    $out[] = $_POST;
    echo json_encode($out);
    ?>
    Ответ написан
    2 комментария
  • Какая разница между CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR в curl?

    glebovgin
    @glebovgin
    Full Stack Web Developer
    CURLOPT_COOKIEJAR - файл, куда пишутся куки после закрытия коннекта, например после curl_close()
    CURLOPT_COOKIEFILE - файл, откуда читаются куки.

    Так что используйте оба параметра, не ошибетесь.
    Но вообще документация - сильная штука.
    Ответ написан
    Комментировать
  • Как передать куки вторым запросом в cUrl?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    Старый код, логинимся и получаем куки в строку:
    // Отправка POST запроса с получением печенек:
    function send_post_get_cookie($URL='', $PostData=Array(), $cookie='')
    {
        // Отсекаем пустые вызовы:
        if (strlen($URL)<=0) return false;
        // Скопировал строку из FireBug:
        $ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
        // Инициализация объекта:
        $ch = curl_init($URL);
        // показывать заголовки (в них куки):
        curl_setopt($ch, CURLOPT_HEADER, 1); 
        // не показывать тело страницы (для экономии траффика):
        curl_setopt($ch, CURLOPT_NOBODY, 1); 
        // это чтобы прикинуться браузером:
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);
        // можно ставить еще вот это, если удаленный сервер проверяет:
        // curl_setopt($ch, CURLOPT_REFERER, $URL);
        curl_setopt($ch, CURLOPT_POST, 1);
        // включение полей POST в запрос:
        curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
        // если нужны печеньки, установим:
        if (strlen($cookie)>0)
            curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        // тормозим стандартный вывод:
        ob_start();
        // запускаем запрос:
            curl_exec ($ch);
            curl_close ($ch);
            // получаем заголовки в массив:
            $headers = explode("\n", ob_get_contents());
        ob_end_clean();
        // выдираем строку печенек:
        for ($i=0, $cnt=count($headers); $i<$cnt; $i++) 
            if (strpos($headers[$i], 'Set-Cookie:') !== FALSE)
                $cookie .= substr($headers[$i], strpos($headers[$i], 'Set-Cookie:')+strlen('Set-Cookie:')); 
        // и возвращаем результат:
        return $cookie;
    }


    А потом используем ее в других запросах, к примеру загружаем файл после авторизации:
    // Сохранение файла с удаленного хостинга:
    function save_get_file($URL='', $cookie='')
    {
        if (strlen($URL)<=0) return false;
        $filename = $_SERVER['DOCUMENT_ROOT'].'/upload/tmp/'.date('YmdHis_').rand(99,9999999).'.tmp'; 
        $fp = fopen($filename, 'w');
        if (!$fp)
            return false;
        else
        {
            $ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
            $ch = curl_init($URL);
            curl_setopt($ch, CURLOPT_USERAGENT, $ua);
            curl_setopt($ch, CURLOPT_FILE, $fp); // чтобы выгрузить в файл;
            if (strlen($cookie)>0)
                curl_setopt($ch, CURLOPT_COOKIE, $cookie);
            curl_exec ($ch);
            curl_close ($ch);
            return $filename;
        }
    }
    Ответ написан
    Комментировать
  • Оценить вероятность подбора пароля?

    profesor08
    @profesor08
    0.0015538215827475253%
    Ответ написан
    Комментировать
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    artemky
    @artemky
    скорее всего он за вами недостающие закрывающиеся теги добавляет
    Ответ написан
    Комментировать
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега HTML
    У вас где-то разметка кривая, браузер от себя ничего не добавляет.
    Ответ написан
    1 комментарий
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Такое обычно бывает, если где-то ошибки есть в html-коде. Проверьте свой код на ошибки.
    Ответ написан
    Комментировать
  • Как в node js получить список js файлов в папке и подпапках?

    Staltec
    @Staltec
    Node.js разработчик
    Асинхронно (и последовательно) это выглядит чуток веселее:

    var path = require('path');
    var fs = require('fs');
    var async = require('async');
    
    
    function getFiles (dirPath, callback) {
    
        fs.readdir(dirPath, function (err, files) {
            if (err) return callback(err);
    
            var filePaths = [];
            async.eachSeries(files, function (fileName, eachCallback) {
                var filePath = path.join(dirPath, fileName);
    
                fs.stat(filePath, function (err, stat) {
                    if (err) return eachCallback(err);
    
                    if (stat.isDirectory()) {
                        getFiles(filePath, function (err, subDirFiles) {
                            if (err) return eachCallback(err);
    
                            filePaths = filePaths.concat(subDirFiles);
                            eachCallback(null);
                        });
    
                    } else {
                        if (stat.isFile() && /\.js$/.test(filePath)) {
                            filePaths.push(filePath);
                        }
    
                        eachCallback(null);
                    }
                });
            }, function (err) {
                callback(err, filePaths);
            });
    
        });
    }
    
    
    getFiles('./', function (err, files) {
        console.log(err || files);
    });


    UPD: Добавил проверку расширения файла чтобы в список попадали только *.js файлы
    Ответ написан
    Комментировать
  • Как в webpack подключать две страницы html?

    nuykon
    @nuykon
    Full Stack Developer
    plugins: [
        new HtmlWebpackPlugin({ template: 'src/screens/app/index.html'}),
        new HtmlWebpackPlugin({ template: 'src/screens/landing/index.html'})
    ]


    но по-моему лучше пройтись по папке и получить список страниц (массив)
    а потом примерно так:
    plugins: [
        ...PAGES.map((page) => new HtmlWebpackPlugin({
          template: `${PAGES_DIR}/${page}`,
          filename: `./${page}`,
          inject: true,
        })),
      ],
    Ответ написан
    Комментировать
  • Как удалить уволенного сотрудника из всех репозиториев GitHub?

    @Flying
    Если у вас аккаунт организации - то там всё просто: На основной странице организации вкладка People, дальше слева выбираете либо Members либо Outside collaborators, там выбираете нужного человека и слева внизу будет кнопка "Remove from all repositories".

    Если же у вас просто личный аккаунт - то там такого не предполагается (что естественно).

    Возможно вам стоит рассмотреть вариант перевода вашего аккаунта в аккаунт организации (Settings -> Organisations -> Transform account) если по факту это всё равно организация. Конечно в этом случае поменяется схема биллинга, но GitHub недавно сильно снизил цены для GitHub for Teams так что вполне можно пользоваться.
    Ответ написан
  • Как стать топовым WEB разработчиком?

    origami1024
    @origami1024
    went out for a night walk
    Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.
    Чуток знаю основы WEB дизайна, есть макеты на Behance

    Да ты и так уже топовый веб разработчик, можно закрывать вопрос
    Ответ написан
    1 комментарий
  • Как стать топовым WEB разработчиком?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    стать топовым WEB разработчиком на фрилансе/удаленке?

    Сразу возникает вопрос, где та оценка качества по которой вы хотите стать топ разработчиком. Вы берете одну из самых низкопороговых ниш, и пытаетесь стать "царем горы".
    Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.

    С таким даже на работу не берут, без знания хотя бы js\php - всё сложно, будете перебиваться мелкими заказами и демпинговать.
    Желание делать сайты под ключ, дизайны сайтов, приложений и разработка.

    Готовьтесь к огромной конкуреции среди таких же "топовых разработчиков"

    Как думаете все вместе реально круто освоить и стать хорошим разработчиком сайтов от дизайна до верстки и запуска сайта, так скажем?

    Вы опоздали лет на 10, когда люди с Вашими навыками делали достаточно неплохие деньги.

    Сейчас неплохие деньги будет делать тот, кто 10 лет нарабатывал своё портфолио, обзавелся клиентами, и чем ваши навыки в виде "знаю чуток, верстал на них, сейчас освоил flexbox" - рынку Вы с такими темпами пригодитесь лет через 5, когда освоите пару фреймворков, либо 4-5 cms + php.
    Ответ написан
    47 комментариев
  • Чем создание JVM под конкретные платформы "лучше", "проще", "продвинутее", "правильнее" написания компиляторов под те же платформы?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Упрощения для разработчиков инструментальных средств - это тема очень непростая. Намного легче объяснить плюсы с позиции прикладного программиста и пользователей ПО. В 2003-м году я участвовал в разработке одной системы на Java EE. Написанный мной и другими разработчиками код был скомпилирован с помощью Java 1.4, упакован в war и развёрнут на сервере заказчика. Это был сервер с 32-битными процессорами Xeon Prestonia, работавший под управление FreeBSD. Позже это приложение в том же war-файле было перенесено на сервер Fujitsu PRIMEPOWER с процессорами абсолютно иной архитектуры - SPARC, и управляемый очень отличающейся операционной системой - Solaris. Сейчас оно крутится на IBM'овских блэйдах c процами POWER и под управлением AIX, на сколько мне известно. Не удивлюсь, если через некоторое время приложение перенесут на что-нибудь с ARM'ами и под Linux или HP-UX. Все эти миграции выполняются без перекомпиляции и без привлечения разработчиков. Если бы приложение было написано на чём-нибудь вроде C++, код приложения пришлось бы портировать на каждую платформу и перекомпилировать. Это было долго, сложно и очень дорого.
    Ответ написан
    2 комментария