让用户自定义皮肤
问题描述:
作为一个练习,我试图围绕让用户自定义皮肤他们的个人资料(如myspace为例)的头脑。我使用PHP。由于我对整件事情一无所知,我不知道该问什么,但我的一些担心是这是多么复杂,是否需要对代码进行彻底检查,我可以将这部分分离成单独的模块可以根据需要关闭,有模板引擎可以帮助解决这个问题和安全性。假设是,如果用户想要定制皮肤他们的个人资料,他们有设计/编码技能开始。任何想法与此赞赏。让用户自定义皮肤
答
取决于你想要给他们的成本。如果我们谈论说:
- 用户的背景图像
- 文本颜色
- 链接的颜色
这都可以不破坏你的代码很容易用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>
您的用户定义的样式可以很容易地设置为覆盖默认主题。
希望它有帮助!
答
这取决于你想给用户多少控制外观。
我开发了一个剧院的网站,希望能够改变前端的外观和时间,这样做的方式是设置几个不同的CSS文件,在后端有一页不同风格的预览和客户只是挑选了他们想要的任何一个。他们挑选的样式存储在数据库中,当前端加载时,他们挑选的css文件被加载。
<link rel="stylesheet" type="text/css" href="<?php echo $styleSheet; ?>" />
答
这是一件很难完成的事情,并且仍然很安全。如果有人可以上传自定义PHP代码,那么您只需将服务器交给第一位黑客。您还必须担心用户上传自定义JavaScript,因为这可能是存储跨站点脚本(XSS)漏洞。
你可能想看看这个开源的PHP项目:正如在答复中说,请提供究竟如何
(DISCLAMER我不知道这个软件的安全程度。)您希望用户能够做的很多定制。 – 2009-11-03 11:01:33