我已经开发了 Php网站,本网站的一部分就是所谓的" 信息中心"用户可以拥有多个小部件。现在,我的一位朋友提出了让用户 上传自己的小部件的想法。现在我只是使用Php的include来加载当前用户像这样的小部件:
while($record=mysql_fetch_object($result)){
print('<li class="widget">');
print('<input type="hidden" class="wid" value="' . $record->wid . '">');
include("../" . $record->wpath);
print('</li>');
}
BUT
所以我想构建某种独立的代码块,它不会影响网站的任何其他部分..任何想法?
答案 0 :(得分:1)
您需要为用户提供一个单独的框来复制和粘贴您可以包装到自己的css类中的css。或者,您可以使用javascript来设置/覆盖重要的CSS样式。
答案 1 :(得分:0)
你的包含是危险的。您应该定义一个工作目录并检查realpath('../'。$ record-&gt; wpath)的结果,以防止目录遍历。
const WORKING_DIR = '/var/www/my-page';
$pathForInclude = realpath('../' . $record->wpath);
if ($pathForInclude !== false && strpos($pathForInclude, WORKING_DIR) === 0) {
include($pathForInclude);
}