• Как остановить нашествие спам-ботов на форум?

    @Ajex
    Нужна любая нестандартная самописная защита, пусть и самая банальная. Просто боты настроены стандартно, врядли кто-то их будет переписывать конкретно под ваш форум.
    Можно через javascript добавить какое-то лишнее поле в POST форму регистрации и проверять его наличие в php скрипте.
    Что-то типа такого. Код добавляет скрытое поле в форму регистрации (нужен jquery). Боты не будут его вставлять в форму и по такому признаку их можно отсекать.
    function SubFunc() {
         $('#reg').append('<input type="hidden" value="1" name="JsPassed">');
         document.reg.submit(); 
         return false;
      }
    <a href="javascript:SubFunc()" >Регистрация</a>
    

    Как вариант можно добавить какой-то алгоритм, который на основании ип адреса, например, будет совершать какой-то крипт или просто брать хэш и потом проверку на стороне пхп, но в 99% это будет лишнее, ибо если боты залетные, они и без этого сдуются.
    Ответ написан
    Комментировать
  • PUT & POST при написании API

    Yeah
    @Yeah
    Кратко: POST — создание, PUT — обновление
    Авторитетного источника применительно к REST не будет, так как REST, строго говоря, не определяет ни POST, ни PUT. REST просто допускает использование HTTP. Следовательно наиболее авторитетный источник по поводу POST/PUT — это спецификация HTTP 1.1:

    The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.

    The PUT method requests that the enclosed entity be stored under the supplied Request-URI.

    То есть POST используется для создания подчиненной сущности, а PUT для сохранения сущности.
    POST в случае успеха всегда должен возвращать статус 201 (Created) и Location на новый ресурс.
    PUT же может возвращать как 201 (если ресурс не найден), так и 204 (No Content) — если ресурс обновлялся.
    Ответ написан
    1 комментарий