PHP中受保护的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中受保护的内容相关的知识,希望对你有一定的参考价值。
我正在寻找这样的东西:
<?php
if($user_authorized == 1){
//some html/PHP code is VISIBLE to user
}
else{
echo"You are not authorized!";
}
?>
现在,我要向用户显示的数据需要极高的隐私级别(这是一些法律内容)。 如果我使用HTML,即使用户未获得授权,它也会在源代码中显示。 如果我使用PHP,对我来说几乎不可能格式化内容,因为它在多个地方都需要<h1><h2>
等...
是否可以将数据保存在数据库中,然后仅在用户被授权后才检索它? 如果是这样,我可以使用格式化选项吗?
我还需要其他哪些选择来达到相同的目的?
答案
好的,从您的评论看来,您在这里面临的唯一问题是格式设置,正如@Mark Baker所建议的那样,您应该使用heredoc进行格式设置。
<?php
$authenticatedText = <<<HTML
//as much HTML as you want here.. you can mix php variables as well by just saying $variable name
<table></table>
HTML;
if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
echo $authenticatedText;
}
else{
echo"You are not authorized!";
}
?>
您也可以研究php中的模板系统,例如smarty模板引擎。
另一答案
我认为您真的没有问题。 PHP将仅以真实的结果提供代码。 要使用html,请回显html代码,或者(更简单地说)转义至html:
<?php
if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
echo "<table ...>";
echo "<tr><td><h1></h1></td></tr>"; // etc. OR simply escape out to the html as follows:
?>
<table ...>
<tr><td><h1></h1></td></tr>
</table>
<?php
}
else{
echo"You are not authorized!";
}
?>
客户端(浏览器)仅接收PHP发送的内容。 因此,用户只会看到他们想要的代码。
以上是关于PHP中受保护的内容的主要内容,如果未能解决你的问题,请参考以下文章