想象一下:您正在创建一个人们可以轻松融入其网站的小模块,例如,一个小小的联系表单。 它将包含一个输出一些HTML的PHP文件,一个Javascript文件(ajax等),一个CSS文件和一个CSS皮肤。现在对编码不太了解的人希望将其集成到网页(website / index.php)上。我们可以使用三个代码规则来完成这个任务:
<link rel="stylesheet" href="module/css/module.css" />
<script src="module/js/module.js"></script>
<?php require_once 'module/module.php'; ?>
毫无疑问,这部分是值得怀疑的,对吗?
现在,当我们想为这个小模块添加管理员时,有两个选项:
选项2有几个优点:
当然,选项2也有一些缺点:
现在我有一些担忧,我似乎无法看到明确的答案。
<?php echo $_SERVER['PHP_SELF']; ?>
使用此原则的任何现实生活中的网站/网络应用程序示例也是受欢迎的。 如果有不清楚的地方,我很乐意添加其他信息。
答案 0 :(得分:2)
泛化:管理界面不属于主应用程序。将编辑功能集成到主UI中通常是可用性的必要条件。但是一旦它接近管理任务,您应该意识到安全隐患。无论代码质量如何,都可能存在配置错误,这不应影响管理工具。将它们保持在外部以增加额外的预防措施(在一个项目中,我正在使用http auth和登录表单)。
在您的具体情况下,您应该出于实际原因避免集成。您无法预料到预先存在的网站的其余CSS以及它如何与您的集成小部件进行交互。
此外,如果您想要在管理工具中进行身份验证,这将是不容易理解的。正如您已经指出的那,这意味着重定向。将它全部保存在一个地方使它看起来更加连贯和可访问,我宣称。
虽然我的基础是我正在计划的工具,这更像是一次性使用的安全工具,我认为这对你的情况也是可取的。集成的UI不会超过缺点。