3

我是新手。

我在这里有一个 php 脚本/var/www/check_login.php,其中包含纯文本的 sql 登录信息。/var/www/login.php通过我的登录页面访问此文件以验证正确的用户凭据<form name="" method="post" action="check_login.php">

我想存储check_login.php在网络根目录之外,因此无法远程访问。

我将如何告诉在 Web 根目录之外login.php进行访问?check_login.php

我猜它并不像action="/var/<new folder outside of root>/check_login.php

谢谢!!

4

5 回答 5

1

你在正确的轨道上。在 /var/www 中为您的站点创建一个不同的文件夹。我喜欢做这个设置:

/var
---/www
-------/mysite
----------/html
----------/config
----------/lib

等在 apache 中,我告诉它我的文档主页是

/var/www/mysite/html

然后我将任何配置文件(如 MySQL 凭据或类)存储在/var/www/mysite/config. 然后,我可以将这些文件包含在以下内容中:

require_once("/var/www/mysite/config/mydbcreds.php")

在您的示例中,login.php需要在此文件中调用您的检查函数,并且如果您需要包含它,则可以这样做。在此处查看我关于如何使用 MySQL 连接类的答案,这可能会为您节省一些时间和头痛。

于 2012-12-06T04:22:08.037 回答
1

将带有凭据的文件移动到上一级目录和文件 check_login.php

include('../credentials.php');
于 2012-12-06T03:59:34.490 回答
0

为您的数据库连接信息创建一个新页面并将其移动到/var/

然后您可以使用您的 HTMLaction="check_login.php"

在您的 check_login.php 脚本上,使用 Gustek 建议的解决方案:

include('../credentials.php');

于 2012-12-06T04:15:14.723 回答
0

如果您使用的是共享托管计划,我只需在我的网站根目录之外创建一个新文件夹,并将我所有的非公开文件都保存在其中。然后在您网站的php.ini文件中,我将编辑包含路径以包含这个新文件夹。在您的 .php 文件中,简单地放在require("the-non-public-file.php");顶部,即没有绝对路径。

于 2013-09-19T02:33:40.320 回答
0

您可以简单地使用include('path of folders/ your_ logging_data .php);

于 2012-12-06T04:26:07.590 回答