определить входящий URL в php - PullRequest
0 голосов
/ 27 марта 2012

Привет всем, я здесь сталкиваюсь с некоторой ситуацией обнаружения url в asp.net, а также php. На самом деле я использую php url на своей странице asp.net. Например, я использую домен типа

www.smlsml.com.pk внутри этого домена я использую страницы asp.net и на странице asp.net я называю php url как www.phpurl.com. Проблема в том, что я хочу защитить php url, пока этозвонит с www.smlsml.com.pk. Я имею в виду, когда я вызываю php url со страницы asp.net, тогда php url должен проверяться, в то время как если php url вызывается с www.smlsml.com.pk, то это будетоткройте еще, если он откроется напрямую или любой другой, кроме www.smlsml.com.pk, то он должен перенаправить на страницу Myasp.aspx, где я использовал iframe, и его src - это php url, поэтому, когда вызывается страница aspx, он требует аутентификации.понял мою идею, тогда, пожалуйста, помогите мне сделать в php или в asp.net, потому что я новичок в php и asp.net, я не знаю, как защитить страницу php. Пожалуйста, помогите или если у кого-то есть идея лучше, чемэто тогдаПожалуйста, поделитесь со мной. Спасибо заранее

Обновление

$adeel = array("http://a.sml.com.pk","http://a.sml.com.pk");
if(!in_array($_SERVER['SERVER_NAME'],$adeel)){
echo "Outer";
}
else{
echo "inner";
}

1 Ответ

1 голос
/ 27 марта 2012

Я думаю, вы говорите о проверке реферера HTTP-запроса, то есть URL-адреса, с которого был вызван ваш PHP-скрипт.

Этот URL находится в переменной PHP-Enviroment-Variable $_SERVER['HTTP_REFERER']

Но одно замечание: это большая дыра в безопасности, так как этот реферер может быть легко фальсифицирован или опущен.Поэтому вам лучше передать токен безопасности вместе с запросом, который вы можете проверить (однако вы не можете использовать тот же сеанс).

Еще один вопрос о передаче токена сеанса из ASP в PHP:

Сохранение сеанса из ASP.NET в PHP


Если вы все же хотите использовать $_SERVER['HTTP_REFERER'], возможно, вы захотите проверить только домен, а не полный URI.Тогда лучше выделить доменное имя, например,

$referrerDomain = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

и использовать его в своей функции in_array():

$adeel = array("a.sml.com.pk", "b.sml.com.pk");
    if (! in_array(referrerDomain, $adeel)){
        echo "Outer";
    }
    else {
        echo "inner";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...