1. PHP / Говнокод #2681

    +160.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    <?php
    ...
    if(isset($_POST["SURE"]) && isset($_POST["id"])) {
        removePost($_POST["id"]);
    }
    ...
    ?>
    ...
    <form action="remove.php"  method="POST">
        ...
        <input type="hidden" name="SURE" value="SIR, YES, SIR!">
        ...
    </form>

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

    Запостил: danilissimus, 27 Февраля 2010

    Комментарии (13) RSS

    • Что-то я не понял, а как должно быть?
      Ответить
      • Ну например можно обойтись проверкой наличия нужных данных (isset($_POST["id"]) и не городить лишние input'ы
        Ответить
        • Ага, потом гадай, это id для удаления или для редактирования. Кроме id должна передаваться команда.
          Ответить
          • В данном случае достаточно action, который красноречиво говорит что делать, поэтому достаточно id.
            Но в данном случае нужно было определить, что данные в скрипт идут с формы, а не просто по ссылке.
            Ответить
            • Не подскажите, как передать по ссылке POST данные? :)

              Если remove.php удаляет только определенные данные, то команда может быть и лишняя. Но это только сейчас думаете, что он будет удалять, например, только комментарии. А через неделю-месяц добавите удаление, картинок, еще чего-то. Лучше не полениться и написать строчку, чем потом выискивать и править.

              P.S. Видел сайт, в котором все странице открывались исключительно через POST запросы, естественно кроме стартовой
              Ответить
            • Вспомнился анекдот, а может реальная история.

              - Хотел сделать оффлайн версию почтового ящика. Скачал все с помощью webcopier, а он дошел до ссылки "Удалить ящик" и спокойно удалил его
              Ответить
      • соль не в наличии самого инпута а в value в этом инпуте ;)
        Ответить
    • SIR, YES, SIR!
      ололо превед от Fullmetal Jacket
      Ответить
      • Обоссака, ржу.
        Идея хорошая, надо только будет значение делать "Roger that".
        Ответить
    • Ололо, какой id по ссылке, там по русски написано $_POST! =)
      Ответить
    • Говнокод: по колено в коде.

      * Войти в говнокод

      *
      *

      Что это? | Обычная форма входа

      * Все
      * Лучший
      * Сток
      * Глупый поиск
      * Наговнокодить!
      * Отзывы
      Говнокод.ру: по колено в коде
      Я предлагаю вам...

      Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!

      1. PHP (770)
      2. C++ (248)
      3. C# (211)
      4. Java (157)
      5. JavaScript (156)
      6. Си (90)
      7. Куча (82)
      8. Delphi (78)
      9. SQL (64)
      10. Perl (44)
      11. Python (35)
      12. VisualBasic (31)
      13. ActionScript (29)
      14. 1C (26)
      15. Assembler (15)
      16. Ruby (14)
      17. bash (9)

      1.
      PHP / Говнокод #2681

      ↓+6.6↑
      1. 01
      2. 02
      3. 03
      4. 04
      5. 05
      6. 06
      7. 07
      8. 08
      9. 09
      10. 10
      11. 11
      12. 12
      13. 13

      <?php
      ...
      if(isset($_POST["SURE"]) && isset($_POST["id"])) {
      removePost($_POST["id"]);
      }
      ...
      ?>
      ...
      <form action="remove.php" method="POST">
      ...
      <input type="hidden" name="SURE" value="SIR, YES, SIR!">
      ...
      </form>

      SURE нужна для того, чтобы удостовериться, что пользователь попал на страницу нажав кнопку, а не просто перейдя на нее.
      из кода одного неизвестно кем написанного блога-движка
      Ответить
      • Ошибка компиляции комментария:

        1. Введите хоть что-нибудь!
        2. Введите проверочный код!
        Ответить

    Добавить комментарий