Wordpress身份验证在Wordpress之外
Wordpress身份验证在Wordpress之外
首先,我的PHP技能几乎为零,以前我有一个朋友帮我做这种事情,而我更专注于CSS和HTML以及网站内容的制作,但是自从他消失后,我不得不负责自己的这个基于WordPress的网站。他制作了一个很棒的应用程序来下载文件,虽然不是一个WP插件,但功能正常,我想做的只是将这个工具变成一个“只有在主网站登录后才能使用”的工具。当点击手动生成的链接时,它会在一个新页面中加载,类似于:\n
\n“myweb[dot]com/folder1/Down.php?id=…”\n
\n我找到了这个名为“Down.php”的文件,大概是这样的:\n
. . .
\n但我不知道如何添加WordPress用户认证,我找到了一段可能适用的代码……也许,但我不知道如何使用它。如果您知道如何做到这一点,或者知道其他方法,我会非常感谢您能帮助我。\n
\n我已经找到了一种在网页上限制链接可见性的方法(使用WP插件),但我还发现通过猜测直接链接很容易绕过它。请帮助我解决这个问题。
问题出现的原因:用户想要在WordPress之外进行身份验证,以便在用户未登录时发送403(禁止)响应。
解决方法:在代码中添加以下内容,并将其放置在<?php
标签下方的顶部。如果用户未登录,则该代码会发送403(禁止)响应。
<?php $path = $_SERVER['DOCUMENT_ROOT']; require_once $path . '/wp-load.php'; if ( ! is_user_logged_in() ) { header("HTTP/1.1 403 Forbidden" ); die(); } . . . ?> <!DOCTYPE html> <html lang="es-ES"> . . . </html>
如果WordPress不在public_html
中,可能会失败(没有测试),可能需要在wp-load.php
之前添加目录名称。但是,如果我理解你的问题,这不应该是问题。
用户表示该方法已经完美解决了问题。用户表示如果需要,可以通过电子邮件发送“Down.php”文件和主机服务器上的文件树。用户非常感谢帮助。
用户补充了一点,网站不在public_html目录中,而是在public_html/subdomain/子目录中。但是用户在学习了“Document_Root”后发现这不是问题。