从PHP输出大量动态HTML的最佳实践

时间:2018-01-23 16:18:32

标签: php html

在PHP中从数据库导出大量HTML的最佳做法是什么?我正在构建一个非常简单的动态CMS,并且有意从MySQL数据库加载输入类型,id等。

我的问题是使用一个回声,就像下面提供的示例代码一样,显示HTML的绝对最佳方法,假设我从数据库中收集了信息?

for ($x = 0; $x < 3; $x++)
    {
        echo '
            <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
              </div>
        ';
    }

1 个答案:

答案 0 :(得分:0)

我可能会问一些关于清理和html编码的难题,这可能会让你自己开启XSS

您是否可以完全控制HTML或用户是否可以输入HTML?

你能否使用markdown或其他语言来帮助防止攻击者运行恶意css / js?

如果不是,你可能需要像HTML Purifier这样可能会惹人怜爱的表现

就输出而言,我建议要求一个单独的PHP文件并将其用作“模板”文件,因为PHP是一种模板语言。

其他开发人员可能会插入并推荐一种编写语言(DSL)来呈现在某个阶段本质上会成为PHP的语言,这些语言默认情况下应该在变量上提供htmlspecialchars并以缓存来换取他们的DSL

如果您不确定自己在做什么

,这可能更合适

如果要输出预定义的块,你可以做的是将这些块作为函数名存储在数据库中,然后在输出中通过db动态调用这些函数来渲染块