Member 13891475 Ответов: 0

Разрешение доступа к ссылке только с определенной страницы, не работающей на Microsoft edge.


Привет,

Я пытаюсь ограничить доступ к одной из моих страниц от одного конкретного реферера домена.

Этот код, который я тестировал, работает на chrome &firefox, однако на microsoft edge я не могу заставить его работать..

Что я уже пробовал:

<?php
$referer = $_SERVER['HTTP_REFERER'];
$referer_parse = parse_url($реферера);

если($referer_parse ["хозяина"] = = "test.google.com" || $referer_parse ["хозяина"] = = "www.test.google.com") {

} еще {
заголовок("Location: notallowed.php");
выход();
}
?>

Mohibur Rashid

что показывает print_r($_SERVER)?

Member 13891475

Прошу прощения, что так долго не отвечал. Где я могу добавить print_r($_SERVER)?

Member 13891475

Здесь:

noArray ( [PATH] => /usr/local/bin:/usr/bin:/bin [TEMP] => /tmp [TMP] => /tmp [TMPDIR] => /tmp [PWD] => / [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_ACCEPT_LANGUAGE] => sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3 [HTTP_CONNECTION] => close [CONTENT_LENGTH] => 0 [HTTP_COOKIE] => username=user; __tawkuuid=e::f.mydomain.com::l7pltwfr8UGzjW0ORFIDLqNKE6fOQE5avt18BwJazClUvT/4Rc/PTo2xWJjeljnh::2; PHPSESSID=rcapuicq3j2pqen78u11t4o0n2; TawkConnectionTime=0; rcksid=4aredCkFZEsedn5dJaEuSebSuCGpxMoU5bpbNg5xJ6RROutpSsCAEKFEyZASALDW; BLAZINGFAST-WEB-PROTECT=17d533b691c402288f6567244e567c15; __tawkuuid=e::domain.com::4eHAkuSTAOJL8qM/2PgckegdvKlEgdcnQa2fOeCzhfeoGlzrOHYu07bcOH9SvUIa::2 [HTTP_HOST] => f.mydomain.com [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 [HTTP_X_FORWARDED_FOR] => 1.2.3.4[HTTP_X_REAL_PROTECTED] => bf [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [UNIQUE_ID] => WzV8tmtL6Jc0QHYjkfLx2wAAAVM [SCRIPT_URL] => /page.php [SCRIPT_URI] => http://f.mydomain.com/page.php [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache [SERVER_NAME] => f.mydomain.com [SERVER_ADDR] => 1.1.1.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 1.2.3.4[DOCUMENT_ROOT] => /home/domain/f.mydomain.com [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /home/domain/f.mydomain.com [SERVER_ADMIN] => webmaster@f.mydomain.com [SCRIPT_FILENAME] => /home/domain/f.mydomain.com/page.php [REMOTE_PORT] => 6233 [SERVER_PROTOCOL] => HTTP/1.0 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /page.php [SCRIPT_NAME] => /page.php [PHP_SELF] => /page.php [REQUEST_TIME_FLOAT] => 1530231990.5849 [REQUEST_TIME] => 1530231990 )

Mohibur Rashid

в моем случае это видно

[HTTP_REFERER] => http://localhost:8081/

Member 13891475

Что значит, я действительно не понимаю?

Код работает на chrome и firefox, но не на edge или safari, не знаю почему, честно говоря.

Я пробовал использовать модификацию .htaccess и другие способы php, но безуспешно.

Это сработало для вас на грани?

Mohibur Rashid

Да, в моем случае HTTP_REFERER в Edge показывает так же хорошо, как и IE. Если вы поищете в google, то заметите, что многие люди предлагают другой подход, а затем http_referer

0 Ответов