2

我已经在网站上没有注意到这个问题,而且我很难处理它。

我只是想在 html 页面的顶部运行一个 php 脚本来检查 cookie 的存在,本质上是一个受密码保护的网站。如果浏览者有 cookie,则允许他们继续,否则他们将被重定向到登录页面。我对网络开发很陌生,但我被引导理解....

<html>
I am in html!
<?php
//Code goes here
echo "I am in php!";
?>
I am back in html!
</html>

会工作......但我只得到html部分的输出。

4

2 回答 2

4

PHP是在服务器端处理的,而不是在客户端处理的……另一方面,HTML是在客户端处理的。

您应该做的不是在 html 页面中运行 php,而是在 php 页面中运行 html。

这样做的原因是,如果您将内容和安全机制都发送给客户端,那么有人很容易绕过安全性 -例如看这里并简单地查看源代码。

如果您想要正确的 PHP,您将拥有以下内容:

if(isset($_COOKIE['MyCookie'])){; 
// Escape PHP and put html here...


//go back to php.
}

您将需要一个可以处理 PHP 的服务器,但是,我应该说有更好的方法来保护页面,例如 .htaccess 和类似的,我敦促您关闭它们。

于 2012-05-24T21:08:47.993 回答
1

通常 .html 页面不会运行 php 代码。但是我们可以通过在 .html 文件所在的同一文件夹中创建一个 .htaccess 文件来运行 PHP 代码。在 .htaccess 文件中添加此代码

AddHandler 应用程序/x-httpd-php5 .html .htm

此代码可能因您使用的 php 版本和服务器而异

于 2013-02-20T11:46:26.140 回答