2011-07-27 90 views
0

我做了一个小的脚本允许用户建立自己网页或联络形式在我的网站主题编辑由用户

但一些朋友告诉我,他们希望增加一些JS脚本!

,所以我想允许用户编辑header.php文件

的文件内容 - 例如

<head> 
<title>Mysite | user_name</title> 
</head> 

现在我有想法

我将采取从一份真实的文件(header.php)

并允许用户编辑它

可编辑的版本将

<title>{Mysite} | {user_name}</title> 

,然后,我将使用(str_replace函数功能),以取代{} mysite的通过我的网站标题varibal

我的问题是!

如果用户发布了PHP代码

例如

<head> 
<title>{Mysite} | {user_name}</title> 
<? include /// or echo 'error' or what ever ! ?> 
//and some things others 
</head> 

PHP代码是否行得通呢?或将被忽略并仅用作html?

如果有安全又好的另一种方式,请告诉我!

谢谢

+0

这取决于你如何加载/读取的模板。 oyu没有显示它 – KingCrunch

回答

0

如果header.php文件,用户可以修改,包括(使用requireinclude从你的PHP代码,那么,它包含的PHP代码就会被执行。

在你的情况,我宁愿:

  • 使用文件名一样header.tpl,以表明此文件不包含PHP代码,但确实是某种模板。
  • 我不会用inclure/require获得该模板文件的内容,但一个简单的file_get_contents()
+0

谢谢pascal我永远不会包含或需要由用户编辑的文件! ,我将使用数据库,输入^ _^ –

0

如果由于某种原因,你仍想使用.php,而不是东西的模板那么危险,那么你应该过滤用户输入反正所以他们不利用它。

也许你可以用strip_tags()功能来开始和allowable_tags说法有

+0

非常感谢着,当然是有用的answere < - 对不起,我的语言 –