繁体   English   中英

php-如何向被禁止使用PHP或其他方法访问URL的客户端显示网页?

[英]php - how to display a web page to clients who are blocked from accessing a URL with PHP or some other method?

我需要你的帮助。 我有一个网站...可以将其称为website A ,并且我试图使用ajax从website B获取内容(它们不在同一服务器上)。 原因是因为在我的国家/地区,有一个互联网提供商,如果您使用的是该提供商,则无法连接到website B 但是,每个人都可以连接到website A 因此,有些客户无法从website B获得内容。

我的想法是:当您连接到website A ,会向website B发出ajax请求以获取内容。 问题是ajax仍然要求向website A发出请求的人必须能够访问website B

website A访问者是否可以使用website A所连接的互联网连接从website B获取内容,然后直接通过website A进行显示?

这是我尝试执行的操作,但没有成功。
任何帮助将不胜感激。

<script>
    jQuery.ajax({
        url: 'https://websiteB.com?a=information&id=<?=$id?>',
        type: 'GET',
        data: {
        },
        success: function(data){
            jQuery('#content').html(data);
        },
    });
</script>

为了从阻止访问希望访问内容的客户端的连接的站点检索内容,但没有阻止与客户端连接的服务器,您可以使用server website A PHP简单地获取website B的内容( website A ),然后将其打印到客户端的屏幕上。

这将不允许他们跟踪链接或其他任何内容,但是您可以通过这种方式检索单个页面的内容。

如果您希望镜像整个站点,则可以使用apache反向代理(请参阅第2部分)

同样重要的是要注意,您需要确保将website Aphp.ini文件中的allow_url_fopen()设置设为true


websiteA上的文件get_website_b.php

 <?php $websiteBcontent = file_get_contents( 'http://www.websiteB.com/'); print_r($websiteBcontent); ?> 


第2部分

要将整个域名(例如website B镜像到website A ,可以在您的apache httpd.conf文件中添加一个virtualhost条目。

  <VirtualHost www.websiteA.com:*>
      ProxyPreserveHost On 
      ProxyPass / http://www.websiteB.com/
      ProxyPassReverse / http://www.websiteB.com/
      ServerName websiteA.com
  </VirtualHost>

您还必须确保已加载了可以使用loadModule指令加载的mod_proxy模块。

(请参阅https://httpd.apache.org/docs/current/mod/mod_so.html#loadmodule

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM