ezproxy PHP 5.3.3 PDO自动替换数据库值

时间:2015-11-23 02:38:48

标签: php pdo host

让我们说我的网站是http://www.example.com。 学校使用ezproxy连接到我的网站。该网址变为http://www.example.com.schoo.org

我的表格中包含http://www.example.com/page1.php等值。

但是当我对此表进行提取时,返回的值为http://www.example.com.schoo.org/page1.php

我现在完全糊涂了,为什么PDO会改变DB值?

我错过了什么吗?

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$stmt = $dbh->prepare('SELECT * FROM sometable');
$stmt->execute();
print_r($stmt->fetchAll());

编辑:结果EZProxy会更改所有看起来像网址的文字。不只是链接。谢谢@ chris85

1 个答案:

答案 0 :(得分:0)

代理无法访问您的驱动程序,我们的源代码。他们为用户修改生成的站点内容。以下是ezproxy常见问题页面的引用:

  

代理重写页面内容。代理(一般)是可能的,因为EZproxy就像一个简单的Web浏览器,面向数据库。然后EZproxy拆分整个html文档并重写它,以便所有数据库链接都返回到EZproxy。

- http://oclc.org/support/services/ezproxy/faq.en.html

根据我的经验,他们被机构使用,因此学生可以访问机构订阅的内容。这是必需的,因为通过IP认证授予了他们的家庭/工作网络不匹配的访问权限。

所以请求就像这样(我打赌谷歌也有这样的图像)。

浏览器向ezproxy服务器发出请求。然后代理向主网站发出请求。网站处理并将请求视为来自代理并将其内容发送给它。然后,Ezproxy会修改该内容,以便URL指向其位置而不是主站点位置,并将其发送回浏览器/客户端。