PHP登录会话-“;“已登录”;使用页眉的页面(

PHP登录会话-“;“已登录”;使用页眉的页面(,php,mysql,security,session,login,Php,Mysql,Security,Session,Login,我有一个关于会话和验证登录用户的问题 我的问题是将用户发送到“登录”页面,即个人资料页面 if ($num_rows > 0) { session_start(); $_SESSION['login'] = "1"; header ("Location: profile.php"); } 这是否意味着只有登录用户才能查看的任何页面都必须具有php扩展 如果它是例如profile.html,那么任何知道该文件在哪里的人都可以正确地查看它 那么,每个配置文件页面是否都有一个.php扩展名?在

我有一个关于会话和验证登录用户的问题

我的问题是将用户发送到“登录”页面,即个人资料页面

if ($num_rows > 0) {
session_start();
$_SESSION['login'] = "1";
header ("Location: profile.php");
}
这是否意味着只有登录用户才能查看的任何页面都必须具有php扩展

如果它是例如profile.html,那么任何知道该文件在哪里的人都可以正确地查看它


那么,每个配置文件页面是否都有一个.php扩展名?在这个php文件中,是表单和其他内容的html代码?

您可以在每个php页面中添加一个简短的代码,验证用户是否登录,如果不登录,您可以将用户重定向到登录页面(您还可以保存引用以将他带回他想要访问的页面)


因此,简短的回答是肯定的,您需要在每个页面中使用代码来验证用户。

如果您想用php编写登录系统,每个页面都需要有php扩展,因为您需要在每个页面上检查用户是否登录


如果您不想使用php,您也可以在登录系统中使用.htaccess文件来确保维护单个入口点,可以使用htaccess来确保无法访问其他文件,并且我们将index.php文件隐藏在url中

The .htaccess file itself looks like this-

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]



The .htaccess file will permit access to the site via urls such as
http://www.example.com/news/show


If you do not have mod_rewrite available, the entry to the site will be the same,    except that the URL will contain the values needed such as:
http://www.example.com/index.php?rt=news/show
那么每个概要文件页面都应该有一个.php扩展名吗? 我会说是的。如果您在每个配置文件页面中使用php脚本检查会话全局变量,那么您需要有.php扩展名,因为它是将在您的服务器中运行的脚本

若您的配置文件页面并没有登录保护,或者并没有使用php脚本检查会话全局变量,那个么.html扩展可以很好地用于配置文件页面

资料来源:

您可以让服务器通过php引擎传递任何或所有文件,文件名和扩展名没有意义。如果您的配置文件页面有验证和使用php$\u SESSION[“login”]变量的代码,那么它必须是一个php文件(包含php脚本)。从技术上讲,扩展并不重要,正如Dagon所说,只要php引擎能够解释文件。这是网站的一个非常常见的必要条件。已经有很多解决方案可以简化数据库和登录编码。我推荐使用像codeigniter这样的php框架来帮助实现这一点,它有一个用于用户控制的插件。哇,我感谢大家指出codigniter。我不知道为什么我以前没有想到。很明显,它已经完成了,不需要重新发明…使用这样的东西有任何缺点。对我来说似乎很神奇。应该可以节省我一些时间。错了。你们都告诉serve to pass.html或其他任何作为phpThanks的东西来快速回复。看起来我我的php文件比html文件多,即使php文件有几行php代码,大部分是html代码。这正常吗?不,如果你想从具有html扩展名的文件运行php代码,你需要配置你的Web服务器AddType应用程序/x-httpd-php.htmlSo大多数网站的所有文件都有php扩展名,并且运行html代码需要吗我觉得在每个页面上都有注销按钮的站点需要有一个php扩展来确保用户登录,并显示一个注销按钮。嗯,我不确定我是否完全理解。乍一看,这似乎是一种不让一百万个目录包含index.php/html文件来保持URL干净的方法。我不知道这有什么帮助我的登录用户问题。一个登录用户进入example.com/profile,无论我有一个带有index.php的profile文件夹,还是这个文件夹,我都会得到相同的结果。