将迷你管理员添加到网页

时间:2010-12-30 20:50:36

标签: php html5 admin contenteditable

想象一下:您正在创建一个人们可以轻松融入其网站的小模块,例如,一个小小的联系表单。 它将包含一个输出一些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'; ?>

毫无疑问,这部分是值得怀疑的,对吗?

现在,当我们想为这个小模块添加管理员时,有两个选项:

  1. 通过网站/ module / admin.php等额外网址访问管理员 并在验证后显示 此人可以完成所有操作的页面 设置。 那个人然后去了 回到index.php看看 结果。
  2. 通过网站/ module / admin.php等额外网址启用管理员 并且在认证之后 重定向回index.php。该 人现在可以直接编辑模块 (HTML5 contenteditable)并看到 更改直播,在网页上 当其他人都会看到它 保存更改的人。
  3. 选项2有几个优点:

    • 此人无需在admin和index.php之间切换。
    • 此人可以直接看到它如何查看它所集成的网页。
    • 此人可能感觉模块更像是网页/网站的一部分。

    当然,选项2也有一些缺点:

    • 并非一切都能正常编辑内联。
    • 此人需要拥有符合HTML5标准的浏览器。
    • 可能还有一些我现在想不到的。

    现在我有一些担忧,我似乎无法看到明确的答案。

    1. 我们如何让这个人 将管理员整合到他们的 网页?管理文件只需要 如果,则包含在index.php中 人已选择编辑 模块通过网址 (网站/模块/ admin.php的)。但是怎么样 如果我们有一个,我们可以这样做吗? admin.css文件属于 head section,一个admin.php文件 进入身体,另一个 admin.js文件包含在 身体的尽头?
    2. 我们如何知道该文件 admin.php需要重定向回, 认证后?的index.php 可以是任何名称的网页。 答案:<?php echo $_SERVER['PHP_SELF']; ?>
    3. 使用此原则的任何现实生活中的网站/网络应用程序示例也是受欢迎的。 如果有不清楚的地方,我很乐意添加其他信息。

1 个答案:

答案 0 :(得分:2)

泛化:管理界面不属于主应用程序。将编辑功能集成到主UI中通常是可用性的必要条件。但是一旦它接近管理任务,您应该意识到安全隐患。无论代码质量如何,都可能存在配置错误,这不应影响管理工具。将它们保持在外部以增加额外的预防措施(在一个项目中,我正在使用http auth和登录表单)。

在您的具体情况下,您应该出于实际原因避免集成。您无法预料到预先存在的网站的其余CSS以及它如何与您的集成小部件进行交互。

此外,如果您想要在管理工具中进行身份验证,这将是不容易理解的。正如您已经指出的那,这意味着重定向。将它全部保存在一个地方使它看起来更加连贯和可访问,我宣称。

虽然我的基础是我正在计划的工具,这更像是一次性使用的安全工具,我认为这对你的情况也是可取的。集成的UI不会超过缺点。