Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动为访问php文件添加前缀_Php_Html_Apache_.htaccess - Fatal编程技术网

自动为访问php文件添加前缀

自动为访问php文件添加前缀,php,html,apache,.htaccess,Php,Html,Apache,.htaccess,我在一个网站上工作,用户可以用HTML语言编辑他们的页面。我想为每个页面添加一个菜单栏,它从数据库加载一些信息,所以它必须是一个PHP文件。为了实现这一点,我启用了在.htaccess文件的HTML页面中运行PHP代码。问题是用户现在可以在HTML文件中编写一些PHP内容并运行它。我怎样才能解决这个问题?是否有其他方法可以为所有用户自动将菜单栏添加到所有页面?有多种选项可供选择: 您可以使用(您可能无论如何都想这样做)清理用户提交的内容。这也将摆脱PHP 您可以在将用户提交的页面保存到纯.ht

我在一个网站上工作,用户可以用HTML语言编辑他们的页面。我想为每个页面添加一个菜单栏,它从数据库加载一些信息,所以它必须是一个PHP文件。为了实现这一点,我启用了在.htaccess文件的HTML页面中运行PHP代码。问题是用户现在可以在HTML文件中编写一些PHP内容并运行它。我怎样才能解决这个问题?是否有其他方法可以为所有用户自动将菜单栏添加到所有页面?

有多种选项可供选择:

  • 您可以使用(您可能无论如何都想这样做)清理用户提交的内容。这也将摆脱PHP

  • 您可以在将用户提交的页面保存到纯
    .html
    页面时插入菜单栏。(您仍然会遇到有害的Javascript提交。)

  • 和/或使用不执行用户数据的更严格的包装器脚本

诸如此类:

<?php
   readfile("menubar.html");
   readfile("userdata/" . basename($_GET["htmlpage"]));
   readfile("footer.html");

听起来很糟糕,很高兴我不是你的“用户”之一@Dagon,你为什么认为这很糟糕?因为他们不能运行PHP代码?
 # in userdata/
 RewriteRule ^(\w+\.html)$  ../addmenubar.php?htmlpage=$1