Как URL кодировать пользовательский ввод в форме мопса? - PullRequest
0 голосов
/ 06 ноября 2019

Я унаследовал сайт, который содержит большое количество файлов pugjs. До этого момента у меня не было опыта работы с этой технологией. По сути, мне сделали тест на проникновение, и было установлено, что этот сайт уязвим к атакам загрязнения http-параметром.

Я хочу закодировать URL-адрес пользователя перед его отправкой, но понятия не имею, основываясь натехнология о том, как это сделать.

Я просмотрел несколько уроков, и я не очень далеко ухожу. Я урезал этот код до управляемого фрагмента.

block content
  .body#main
    main
      .row
          if mode === "login"
            .ui.segment
              form.ui.form(action="/login", method="POST")
                .row.form-row
                    label='Username'
                    input(type='text' name='username' placeholder='Your username')
                .row.form-row
                    label='Password'
                    input(type='password' name='password' placeholder='Your password')
                .row.form-row
                    button.ui.fluid.inverted.orange.button(type='submit')='LOG IN'
                .ui.small.error.message
            .ui.small.message
              | Forgot Password or New User? 
              a(href='/forgot') Click Here
block append scripts
  script(src='/assets/scripts/login-bundle.js' type='text/javascript')
  if mode === "login" || mode === "forgot"
    script(type="text/javascript").
      $(document).ready(function() {
        $('form').form({
          fields: {
            username: {
              identifier  : 'username',
              rules: [
                {
                  type   : 'empty',
                  prompt : 'Username must not be blank'
                }
              ]
            },
            password: {
              identifier  : 'password',
              rules: [
                {
                  type   : 'empty',
                  prompt : 'Please enter your password'
                }
              ]
            }
          }
        });
      });
      });
...