【问题标题】:Can't read post data无法读取帖子数据
【发布时间】:2019-01-03 19:32:32
【问题描述】:

PHP 7.0、Phalcon 3.4.1、Bootstrap 4.1.1、jQuery 3.3.1:我有一个类似这样的登录视图:

<form id="loginform" method="post" action="/login/in">
    <!--<div class="form-group">-->
        <input type="Login" class="form-control" id="Login" placeholder="Login">
    <!--</div>-->
    <div class="form-group">
        <input type="Password" class="form-control" id="Password" placeholder="Password">
    </div>
    <input type="hidden" name="{{ csrf_name }}" value="{{ csrf_value }}">
    <button id="submit" type="submit" class="btn btn-secondary">Login</button>
</form>

我希望能够绑定到 Windows 域控制器(内联网),但是当我提交表单时,post 数据类似于:

array(1) { ["cVlQeUd2QjdCTWtIWk9Td1pNTHh3UT09"]=&gt; string(32) "Y01CR2VXRTU2WExEUW8xWDNVZFRBUT09" }

所以,我想保持密码安全(ldap 是 ldaps 地址),但我还需要将真实参数传递给 ldap 绑定函数,因为它不适用于上面的数据。任何想法将不胜感激。

【问题讨论】:

  • 您的输入没有名称。
  • 您忘记了字段的name 属性

标签: php security encryption phalcon


【解决方案1】:

详细说明其中的两个 cmets:“id=...”几乎适用于所有页面操作,但经典的“Form”提交仍然仅通过名称属性“name=..”在表单中查找项目。 .",而不是 id。一般来说,最佳实践是始终为将要访问或以其他方式动态操作(即:通过 Javascript)的项目分配 id,并且还包括将提交的表单项目的名称。

还有一件事,有一个名称约定,您可以在多个项目上使用相同的名称(例如选择的多个选项?我不记得它在哪里有用)。当这些项目被提交时,它们以包含在该单个标识符下的某种列表/数组的形式到达服务器。 id 不存在此类约定,它必须是每个 id 一个项目(根据 cmets 之一)。

<form id="loginform" method="post" action="/login/in">
    <!--<div class="form-group">-->
        <input type="Login" class="form-control" id="Login" name="Login" placeholder="Login">
    <!--</div>-->
    <div class="form-group">
        <input type="Password" class="form-control" id="Password" name="Password" placeholder="Password">
    </div>
    <input type="hidden" name="{{ csrf_name }}" value="{{ csrf_value }}">
    <button id="submit" type="submit" class="btn btn-secondary">Login</button>
</form>

【讨论】:

  • 我不会说以任何方式分配 id 是一种好习惯,因为它们必须是唯一的。在需要时使用它们。
  • 不错,很公平。
  • 对于 JavaScript 表单验证,id 是必需的(根据名称验证 [许多线程] 不是一个好习惯),因此示例应该包含两者。
  • 是的,在我看来这是一个更好的观点,除此之外,这也是我多年来一直在做的事情。我会把它们放回去。
猜你喜欢
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 2020-10-20
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
相关资源
最近更新 更多