allow_url_include
有没有办法让包含来自一个Url。也许与Htaccess或在PHP?Allow_url_include有没有一种方法可以允许包括来自一个URL
回答
号要获取一个URL的内容,使用file_get_contents()
。然后,将结果发送回等待的浏览器,只需使用echo()
即可。
$contents = file_get_contents('http://www.example.com/');
echo($contents);
以上将需要您设置配置allow_url_fopen=1
(它已被默认设置)。
如果你使用include
,而不是我上面的配置方法,将有一个重要区别:include
也执行发现所获取的文档中任何PHP代码。一般来说,除非您知道您控制了所包含文档的全部内容,否则这是一件非常危险的事情。
也就是说:如果你做想要的作品酷似include
代码,你可以这样做以下(这是安全的,因为它只取一个URL,它不要求您启用allow_url_include
)。
$contents = file_get_contents('http://www.example.com/');
eval('?>'.$contents);
如果你选择这样做,可以肯定,你控制的远程URL的全部内容。如果其他人控制该文件,他们将能够在您的服务器上执行任意代码。不要让这种情况发生。
那么为什么你需要这个,你可以控制代码,你可以在包含的时候使用一个url。旁边使用allow_url_include是非常危险的。如果你仍然想使用,你可以这样做。
创建自定义函数(粗略码)
function url_include($url){
//now check if $url is the one you want to be included
if($url=="http://www.mysite.com/file.php"){
include($url);
}else{
//show error or something.
}
}
现在用这个url_include("http://www.mysite.com/file.php");
在您的页面包含URL。
希望这有助于
即时尝试保持allow_url_include关闭是安全的,但是从其他地方包括一个文件是否有更好的方式来做到这一点,然后使用包括? – 1ftw1
@ 1ftw1,如果使用'file_get_contents'而不是? – WatsMyName
@ 1ftw1如果你想能够动态获取它的内容:我所知道的没有什么。如果仅用于子文件夹的页面,则只需在该文件夹中包含.htaccess而不是根文件夹来启用它。 – Rhyono
- 1. HTML:有没有一种方法,以包括HTML代码滚动
- 2. 有没有一种方法来操纵包含JS没有eval()?
- 3. 有没有一种方法可以投射闭包的参数?
- 4. 有没有一种方法来默认@JsonIgnore,并允许序列化的标签
- 5. Objective-C有没有一种方法可以把一个数字拼出来?
- 6. 有没有一种方法来概括petapoco选择查询
- 7. iPhone:有没有一种方法来loadNumber并有一个reuseIdentifier?
- 8. 有没有一种方法来编码HTML页面,包括SEO友好?
- 9. 有没有一种方法可以仅用CSS来自动缩放图像?
- 10. 有没有一种方法或我可以用来使按钮按自己?
- 11. 有没有一种方法可以运行多个IntentService?
- 12. 有没有一种方法可以一次使用Sequelize
- 13. 有没有一种方法可以让params中“不确定的”散列而不允许一切吗?
- 14. 有没有一种方法来设置一个int为001
- 15. 有没有一种方法来grep或解析一个变量
- 16. 有没有一种方法来定位前一个元素?
- 17. CSS有没有一种方法来写类风格,包含类
- 18. 有没有一种方法可以将T4指令置于括号内?
- 19. 有没有一种方法可以有一个桶指针? (C/C++)
- 20. 有没有一种方法,包括模板和隐藏他的一些块
- 21. 有没有一种方法可以像PHP一样自动增长数组?
- 22. 有没有一个Django ModelField允许多种选择,除了ManyToMany?
- 23. 有没有一种更简单的方法可以使许多输入相等?
- 24. 在痣中有没有一种方法可以用params关键字来嘲讽/模拟一种方法?
- 25. 有没有一种方法来确定一个iframe是可见/主动
- 26. 有一种方法可以知道和检查“谁来自”一个NET/HTTP请求“谁来自”/“来自哪里”?
- 27. 有没有一种方法可以仅通过url为关系建模?
- 28. 有没有一种方法可以确定Elastic Beanstalk上的Tomcat环境的URL?
- 29. 有没有一种方法可以教给iOS的tesseract一种新的字体?
- 30. 有没有一种方法来一次为多个对象设置方法?
你能举一个具体的例子吗?我很困惑你如何使用'.htaccess'来实现你的愿望,因为'allow_url_include'似乎允许一台服务器上运行的PHP在'include'语句中访问另一个web服务器上的文件。 – HeatfanJohn
只能输入一次include语句吗?仅仅因为你允许远程使用并不意味着他们会突然开始弹出你的颂歌。 – 2012-09-05 03:46:45
不是。这是一个全或无的设置。它可以打开并且可以显示任何内容,或者关闭并且不允许任何内容。 –