![]() |
1
3
正如加胡亚所说,我认为你需要非常小心你在这里做的事情,因为你在玩火。可以安全地进行,但是要非常谨慎地使用用户提供的URL中的数据。 对于您遇到的特定问题,我假设如果您得到一个文件名的输入,就会发生这种情况,例如,如果有人在框中键入“index.php”。您需要做的只是确保它们的URL以“http://”开头,以便fopen使用网络方法,而不是打开本地文件。在fopen行之前,应该这样做:
|
![]() |
2
3
PARSEURLUR: http://us3.php.net/parse_url 您可以检查方案和主机。 如果方案是HTTP,那么确保主机不是您的网站。我建议使用preg_匹配,来抓住点之间的部分。与www.google.com或google.com一样,使用preg_match获取google一词。 如果主机是IP,我不确定您在这种情况下要做什么。默认情况下,preg匹配只能得到中间的2个数字和点(假设您尝试使用preg_match在.com之前获取站点名称) |
![]() |
3
2
您是否知道您正在创建一个开放式HTTP代理,这可能是一个非常糟糕的主意? 您甚至需要获取URL的内容吗?为什么不让用户的浏览器通过提供URL来做到这一点呢? 假设您确实需要获取URL,考虑根据已知的URL“白名单”进行验证。如果不能将其限制在已知列表中,那么您将再次返回到打开的代理服务器… 使用正则表达式(preg)确保它是一个好的HTTP URL,然后使用curl扩展来执行实际的请求。 将fopen()函数系列与用户提供的参数混合在一起是潜在灾难的一个秘诀。 |
![]() |
4
0
您可以使用PHP过滤器。 过滤器变量($url,过滤器验证)或 过滤输入(输入“url”,过滤“validate”url); http://php.net/manual/en/function.filter-input.php 还可以尝试使用与过滤器相关的php wiki文章引用的这些文档。 https://wiki.php.net/rfc/add_validate_functions_to_filter?s[]=filter 通过 大崎 |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |