我是新手。
我在这里有一个PHP脚本/var/www/check_login.php
,其中包含纯文本的sql登录信息。我的登录页面/var/www/login.php
通过<form name="" method="post" action="check_login.php">
我想将check_login.php
存储在网络根目录之外,因此无法远程访问。
如何告诉login.php
访问网络根目录之外的check_login.php
?
我猜它不像action="/var/<new folder outside of root>/check_login.php
谢谢!
答案 0 :(得分:1)
将包含凭据的文件移至一个级别目录和文件check_login.php
include('../credentials.php');
答案 1 :(得分:1)
你走在正确的轨道上。在/ var / www中为您的站点创建一个不同的文件夹。我喜欢这样设置:
/var
---/www
-------/mysite
----------/html
----------/config
----------/lib
等。在apache中,我告诉它我的文件回家是
/var/www/mysite/html
然后我在/var/www/mysite/config
中存储任何配置文件(如MySQL凭据或类)。然后,我可以使用以下内容包含这些文件:
require_once("/var/www/mysite/config/mydbcreds.php")
在您的示例中,login.php
需要在此文件中调用您的检查功能,并且如果您需要将其包括在内,则可以。 Check out my answer here关于如何使用可能为您节省时间和麻烦的MySQL连接类。
答案 2 :(得分:0)
为您的数据库连接信息创建一个新页面,并将其移至/var/
然后,您可以使用HTML action="check_login.php"
并在check_login.php脚本中,使用Gustek建议的解决方案:
include('../credentials.php');
答案 3 :(得分:0)
您只需使用include('path of folders/ your_ logging_data .php
);
答案 4 :(得分:0)
如果您使用的是共享主机方案,我只需在我的网站根目录外创建一个新文件夹,并将所有非公开文件放在那里。然后在您网站的 php.ini 文件中,我将编辑包含此新文件夹的包含路径。在.php文件中,简单地将require("the-non-public-file.php");
放在顶部,即没有绝对路径。