jQuery: как отправить форму с отредактированными пользовательскими значениями? - PullRequest
0 голосов
/ 27 июля 2011

Так, например, у меня есть простая форма HTML:

      <h3>
            <a href="#">Login</a>
        </h3>
        <div id="tabs-login">
            <form method="get" action="./dev.html">
                <fieldset>
                    <legend>
                        Email:
                    </legend>
                    <input type="text" class="required email" name="login" />
                </fieldset>
                <fieldset>
                    <legend>
                        Password:
                    </legend>
                    <input type="password" class="required" name="pass" />
                </fieldset>
                <input type="submit" value="Submit" />
            </form>
        </div>

И я использую jQuery для проверки:

    <script>
      $(document).ready(function() { $("form").validate(); });
    </script>

Я хочу, чтобы при отправке формы принимали введенное пользователем значение пароля и извлекали из него SHA256 через этот плагин jQuery и отправляли email=user-inputed-value и pass=sha-value. Как получить доступ к проверенным значениям через jQuery, изменить их и отправить в исходную форму назначения?

1 Ответ

6 голосов
/ 27 июля 2011

Во-первых, я хочу отметить, что я не думаю, что это хорошая идея. Обычно плохая идея использовать хеширование паролей на стороне клиента. Вместо этого передача должна быть отправлена ​​в виде простого текста (через HTTPS) на сервер, где она затем хэшируется с использованием вашего предпочтительного алгоритма перед хранением. Это дает дополнительное преимущество в том, что потенциальные злоумышленники не размещают рекламу, в которой используется метод хеширования, поскольку этот код существует только на сервере.

Тем не менее, вы хотите вычислить это значение SHA до отправки формы.

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

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

1011 * Е.Г. *

<!-- add this to the form -->
<input type="hidden" name="sha_pass" value="" />

// add this to the document ready handler
$('[name=pass]').blur(function() {
    $('[name=sha_pass]').val($.sha256($(this).val());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...