让用户定制皮肤

时间:2009-11-03 08:52:21

标签: php security user-controls templates skinning

作为一个练习,我试图围绕让用户自定义皮肤他们的个人资料(例如以myspace为例)。我正在使用PHP。由于我对整个事情一无所知,我不知道该问什么,但我的一些担忧是这有多复杂,是否需要对我的代码进行大修,我可以将这部分分成单独的可以根据需要关闭的模块,是否有模板引擎可以帮助解决这个问题,以及安全性。假设如果用户想要自定义他们的个人资料,他们就具有设计/编码技能。任何有这方面的想法都表示赞赏。

3 个答案:

答案 0 :(得分:1)

取决于您想要给他们的costumization。如果我们在谈论说:

  1. 用户背景图片
  2. 文字颜色
  3. 链接颜色
  4. 使用CSS可以很容易地实现这一切,而不会破坏您的代码。

    让我们假设您将所有这些值存储在数据库中。你有这样的HTML:

    <html>
        <head>
            <link rel="stylesheet" href="...">
            <style type="text/css">
            <?php
                // if is set get user css and post it here; example:
                // #userid { background-image: url(...) }
            ?>
            </style>
        </head>
        <body>
            <div id="userid" class="userpannel">
                ...
            </div>
        </body>
    </html>
    

    您可以轻松设置用户定义的样式以覆盖默认主题。

    希望它有所帮助!

答案 1 :(得分:1)

这取决于您希望为用户提供多少外观控制。

我为一个剧院开发了一个网站,希望能够改变前端的外观,这样做的方式是设置几个不同的css文件,后端有一页预览对于不同的风格和客户刚刚选择了他们想要的。他们挑选的样式存储在数据库中,当前端加载时,他们选择的css文件被加载。

<link rel="stylesheet" type="text/css" href="<?php echo $styleSheet; ?>" />

答案 2 :(得分:1)

这是一件非常难以实现的事情,而且仍然是安全的。如果有人可以上传自定义PHP代码,那么您只是将服务器交给第一个黑客。您还必须担心用户上传自定义JavaScript,因为这将是一个存储的跨站点脚本(XSS)漏洞。

您可能想要查看此开源PHP项目:

DISCLAMER 我不知道这个软件有多安全。) http://sourceforge.net/projects/myownspace/