代码之家  ›  专栏  ›  技术社区  ›  Christos Hayward

为什么Apache下PHP5中的$u POST是空的?

  •  0
  • Christos Hayward  · 技术社区  · 17 年前

    http://example.com/path/foo.php ,我有表格(格式已删除):

    <form action="/path/foo.php" method="post">
    Email: <input type="text" name="email">
    Password: <input type="password" name="password">
    <input type="checkbox" name="remember" checked="checked"> Remember me
    <input type="submit" value="Log In">
    </form>
    

    有时用户无法登录:报告的行为是他们试图登录,并显示一个新的登录屏幕。

    当我能够复制该问题时,$\u POST似乎是空的:$\u POST['email']和$\u POST['password']缺少提交的值,下面只记录“##”:

    error_log("#" . file_get_contents("php://input") . "#");
    

    我不明白为什么这会是由于重定向;它不能是/directory->/directory/,并浏览Apache的相关VirtualHost部分,发现很少有重写,而且不会影响文件。(显示的URL与表单中引用的URL相同。)

    这个系统已经运行了几个月,今天第一次向我报告了这个问题。

    思想?

    3 回复  |  直到 13 年前
        1
  •  1
  •   Colin O'Dell    17 年前

    $\u请求变量中是否有可用的数据?我知道它不是特定于POST的,但应该用发布的数据填充它。

        2
  •  0
  •   Josh Lindsey    17 年前

    如果,正如您对Lucky所说的,您可以确认这是一个FF问题,然后让您的用户禁用所有插件/插件并重试。他们可能在那里有一些冲突。

        3
  •  -1
  •   Colin O'Dell    17 年前

    如果启用此选项,禁用它将导致脚本正确运行并消除潜在的安全威胁。

    推荐文章