用于CGI网站的HTML格式的网站身份验证?备择方案?

时间:2014-09-11 23:30:17

标签: php html mysql apache cgi

我正在为我的组织创建一个网站,该网站还有一些使用Python通过CGI运行服务器端的Web应用程序。我想要一个更直观的前端框架。我也更熟悉脚本语言,然后是网络语言。我选择了Bootstrap作为我的框架,用于它的用户群和文档范围。

现在我了解有关PHP和mySQL的网站身份验证。但我有一个问题,我无法找到答案。

如何通过PHP和mySQL设置网站身份验证,但不是每个页面都以 .php结尾?

例如,有可能以某种方式在CheckLogin而不是.html的网页的html代码的开头插入此.php代码:

<?PHP
require_once("./include/membersite_config.php");

if(!$fgmembersite->CheckLogin())
{
    $fgmembersite->RedirectToURL("login.php");
    exit;
}
?>

CheckLogin代码:

function CheckLogin()
{
     session_start();

     $sessionvar = $this->GetLoginSessionVar();

     if(empty($_SESSION[$sessionvar]))
     {
        return false;
     }
     return true;

我参考了这个教程:http://www.html-form-guide.com/php-form/php-login-form.html

更新:我正在使用Apache。

我正在寻找除了技术名称之外的一些指导,还有一个示例或教程的内容,因为我对webside编程非常新,我将从一些现实世界类型的示例中获益最多。

编辑:我也在寻找最适合CGI类型网站的替代方案。 Apache和网站认证领域的任何事情都是基于与CGI的集成。

这个问题被标记为重复,但我不同意,因为它对CGI性质有更多的警告,而不是如何简单地将PHP插入HTML。在研究网站认证时发现的最常见的解决方案&#34;是PHP。因此,为了简化使用CGI,为什么要问如何通过将PHP页面转换为HTML页面来改变CGI网站。如果有更简单的方法,请分享。

2 个答案:

答案 0 :(得分:1)

还有一些选择。一种是将Apache解析.html文件作为.php文件添加到你的.htaccess:

AddType application/x-httpd-php .html

然后你可以简单地将你的脚本添加到.html文件的顶部,它会起作用。但是,更清洁的解决方案是使用mod_rewrite。例如,您可以使用

www.example.com/page路由到www.example.com/page.php
# .htaccess
# Enable Rewriting
RewriteEngine on

# Rewrite URLs
RewriteRule ^/(.+)/?$ $1.php

或者您可以将一个文件作为路由器:

# .htaccess
# Enable Rewriting
RewriteEngine on

# Rewrite URLs
RewriteRule ^/(.+)/?$ index.php?page=$1

此版本会将www.example.com/后面的$_GET['page']变量传递给index.php文件。

注意:我没有对它们进行测试,但它们应该有效。

这是一个非常好的教程,可以获得更多信息:http://code.tutsplus.com/tutorials/an-in-depth-guide-to-mod_rewrite-for-apache--net-6708

答案 1 :(得分:0)

正如Halcyon写的那样,不可能将你的Authentification与.php和.html结合起来,因为在.html中你无法提取会话变量。

但正如他所写,你可以使用mod_rewrite来显示页面而不是&#34; .php&#34;但作为&#34; .html&#34;。

此致 麦克