0
我們有權通過apache反向代理上的參數來檢查URL的完整性。其中一個是從另外3個計算出來的散列。如果URL看起來完好無損,則反向代理功能應該啓用。我們的問題是,我們不知道如何在檢查回apache之後重新路由來自php的請求,以便繼續/重新開始處理它。將來自PHP的HTTP請求重新路由到Apache
我們試圖用file_get_contents()啓動一個新的請求,但是它並沒有很好地處理重定向並等待超時。
最好不要在PHP中重新實現一個反向代理,而要讓Apache做到這一點。 我們的哈希檢查看起來是這樣的:
<?php
$ss=$_SERVER['QUERY_STRING'];
parse_str($ss,$qa);
if (array_key_exists('hash', $qa)&&array_key_exists('id1', $qa)&&array_key_exists('id2', $qa)&&array_key_exists('id3', $qa)) {
$hstr=$qa['id1'].$qa['id2'].$qa['id3'];
$hash=hash_hmac('md5',$hstr, '@#$%^&**&^@ key [email protected]^&*&T^%$');
if ($qa['hash']==$hash) {
,在這裏我們應該做的東西,所以PHP將請求傳遞迴Apache進程隊列。
在此先感謝!
爲了澄清一下,一旦PHP檢查了給定的URL,是否希望客戶端直接訪問URL?這可以通過'header('Location:...')來實現嗎?'這樣客戶端瀏覽器就會被重定向到URL? – plasmid87
不,不應該在沒有散列的情況下訪問服務,因此在檢查之後我們需要反向代理功能。 – Diepie
據我所知,沒有辦法執行PHP/CGI腳本,然後將請求傳回Apache以使用其代理模塊進行處理。在此設置中,PHP本身充當授權代理和反向代理。 – plasmid87