ezproxy PHP 5.3.3 PDO 自动替换数据库值
ezproxy PHP 5.3.3 PDO is auto replacing database values
假设我的网站是 http://www.example.com。
学校使用 ezproxy 连接到我的站点。 url 变为 http://www.example.com.schoo.org。
我 table 的值类似于 http://www.example.com/page1.php。
但是当我对这个 table 进行提取时,返回值是 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 更改了所有看起来像 url 的文本。不仅仅是链接。谢谢@chris85
代理无法访问您的驱动程序,我们的源代码。他们为用户修改网站生成的内容。这是 ezproxy 常见问题解答页面的引述:
The proxy rewrites the pages content. Proxying (in General) is possible because EZproxy acts like a simple web browser and faces the database. EZproxy then takes apart the whole html document and rewrites it so all the database links go back to EZproxy.
-http://oclc.org/support/services/ezproxy/faq.en.html
根据我的经验,它们被机构使用,因此学生可以访问机构订阅的内容。这是必需的,因为访问权限是通过 IP 身份验证授予的,而他们的 home/work 网络无法与之匹配。
几乎请求是这样的(我敢打赌 google 也有一张图片)。
浏览器向ezproxy服务器发出请求。然后代理向主网站发出请求。该网站处理请求并将其视为来自代理,并将其内容发送给它。 Ezproxy 然后修改该内容,使 URL 指向其位置而不是主站点位置,并将其发送回 browser/client.
假设我的网站是 http://www.example.com。 学校使用 ezproxy 连接到我的站点。 url 变为 http://www.example.com.schoo.org。
我 table 的值类似于 http://www.example.com/page1.php。
但是当我对这个 table 进行提取时,返回值是 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 更改了所有看起来像 url 的文本。不仅仅是链接。谢谢@chris85
代理无法访问您的驱动程序,我们的源代码。他们为用户修改网站生成的内容。这是 ezproxy 常见问题解答页面的引述:
The proxy rewrites the pages content. Proxying (in General) is possible because EZproxy acts like a simple web browser and faces the database. EZproxy then takes apart the whole html document and rewrites it so all the database links go back to EZproxy.
-http://oclc.org/support/services/ezproxy/faq.en.html
根据我的经验,它们被机构使用,因此学生可以访问机构订阅的内容。这是必需的,因为访问权限是通过 IP 身份验证授予的,而他们的 home/work 网络无法与之匹配。
几乎请求是这样的(我敢打赌 google 也有一张图片)。
浏览器向ezproxy服务器发出请求。然后代理向主网站发出请求。该网站处理请求并将其视为来自代理,并将其内容发送给它。 Ezproxy 然后修改该内容,使 URL 指向其位置而不是主站点位置,并将其发送回 browser/client.