Ответы пользователя по тегу PHP
  • Почему xhprof выдаёт "Invalid Run Id"?

    ferym
    @ferym Автор вопроса
    Web-Developer
    Нашел в чем проблема. NameSpace должно быть без точек...
    Ответ написан
    1 комментарий
  • Нужно принять POST-запрос php, в чем проблема и как вывести результат для проверки, что запрос и данные приняты?

    ferym
    @ferym
    Web-Developer
    Для отладки можешь вариантами ниже воспользоваться
    // Запись в файл debug.txt данных из массива $_POST
    file_put_contents('debug.txt',var_export($_POST,true));
     
    // Так же можно добавить параметр FILE_APPEND что бы новые результаты добавлялись в конец файла, без его перезаписи
    file_put_contents('debug.txt',var_export($_POST,true).PHP_EOL,FILE_APPEND);


    ###### U P D: #########

    Спустя кучу комментов выяснили, что данные приходят в виде массива application/json
    {"key1":"value1","key2":"value2","key3":"value3"}

    А не как обычный application/x-www-form-urlencoded где данные вида
    key1=value1&key2=value2&key3=value3


    Поэтому PHP не может понять и обернуть эти данные в переменную $_POST, и надо обработать данные самостоятельно.
    Для этого получаем эти данные в сыром виде из потока ввода и прогоняем через json_decode.

    $JSON = json_decode(file_get_contents('php://input'),true); // true что бы получить в качестве привычного массива, а не объекта
    var_dump($JSON);

    Обращаться к данным соответственно через $JSON['key'], а не через $_POST['key']!!!
    Ответ написан
  • Почему приходят письма с пустыми переменными?

    ferym
    @ferym
    Web-Developer
    Да, мужик выше дело говорит)
    Если лень матчасть учить или вообще не шаришь, то замени
    <form class="form" action="form.php">
    на
    <form class="form" action="form.php" method="POST">
    Ответ написан
    Комментировать
  • Как, чем, кем проверить сайт на уязвимости?

    ferym
    @ferym
    Web-Developer
    Наш отечественный малоизвестный, но неплохой сервис find-xss.net (реф)
    Есть бесплатная проверка файлов до 5Mb, при этом показывается по моему первые 5 найденных уязвимостей и мест на которые стоит обратить внимание.
    Можно купить платный доступ на 24 часа за 3$ и проверять проекты до 20Mb, а так же сразу покажет весь отчёт.

    Для параноиков есть клиент сканера реализованный на Java для проверки на своей машине.

    С бесплатной версией есть небольшой лайфхак. Выкидываете из проекта всю графику, js, css и вёрстку (если она подключается шаблонизатором например) что бы проект максимально облегчить, жмете максимально архив и заливаете. Если всё равно не хватает места, то проверять в несколько этапов разбивая проект на куски и выкидывая из архива всякие плагины, модули и тд.

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

    Жаль нет возможности прикрыть мой комментарий от индексации :)
    Ответ написан
    Комментировать