【发布时间】:2011-02-06 19:42:39
【问题描述】:
如何让用户访问受 WordPress 保护的页面,其 URL 将在下面的表单中提交密码?
我希望能够让用户无需输入密码即可访问受密码保护的 WordPress 页面,因此当他们访问该页面时,密码是通过页面加载时的 POST URL 提交的。
这在任何方面都不是安全的;我需要在 URL 和 PHP 中对密码进行硬编码。这只是为了方便用户。
编辑 4/19/10: 根据下面的答案,可以直接设置 cookie 以允许用户不必输入密码。最好通过检测用户代理和重定向来让搜索机器人进入,因为机器人不会处理 cookie。
这是表单(这是 WordPress 核心代码):
<form action="http://mydomain.com/wp-pass.php" method="post">
Password: <input name="post_password" type="password" size="20" />
<input type="submit" name="Submit" value="Submit" /></form>
这是 wp-pass.php(这是 WordPress 核心代码):
<?php
require( dirname(__FILE__) . '/wp-load.php');
if ( get_magic_quotes_gpc() )
$_POST['post_password'] = stripslashes($_POST['post_password']);
setcookie('wp-postpass_' . COOKIEHASH, $_POST['post_password'], time() + 864000, COOKIEPATH);
wp_safe_redirect(wp_get_referer());
?>
【问题讨论】:
标签: php wordpress url forms post