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 Ba​​ker所建议的那样,您应该使用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中受保护的内容的主要内容,如果未能解决你的问题,请参考以下文章

以下代码中受保护的内部访问说明符的意义

Java中受保护的访问修饰符

Java和c#中受保护的成员差异

Java 枚举类型中受保护的变量是啥意思? [复制]

“属性在此上下文中受保护”具有继承和 .h 和 .cpp 文件

在 kotlin 中,如何从子类访问父类中受保护的静态成员