JasonBourne

JasonBourne
Рейтинг
3
Регистрация
25.09.2007
Должность
programmer
Unlock:
Т.е. получается Location: http://www.site.com'.strtolower($_SERVER['REQUEST_URI']) правильный вариант? Ведь Location: http://$host$uri/$extra из примера по сути тоже самое, или нет?

Ага 🙄

Unlock:
Подскажите пожалуйста, как правильно при 301 редиректе должен быть написан Location:
1) Location: '.strtolower($_SERVER['REQUEST_URI'])
2) Location: http://www.site.com'.strtolower($_SERVER['REQUEST_URI'])
В броузере то оба варианта работают, но какой правильный, чтобы с ботами не было проблем?

Правильней наверно будет с HTTP, более того, в документации на PHP.net написано, что в протоколе http версии 1.1, указание абсолютного пути, включая имя хоста и полный путь, обязательно (!) (но некоторые клиенты - броузеры, поддерживают и относительные пути, без имени хоста).

Замечание: HTTP/1.1 requires an absolute URI as argument to Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

Там же приведен немного громоздкий пример правильного использования редиректа location:


/* Redirect to a different page in the current directory that was requested */
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;

P.s. Вот тут еще немного сам для себя про редиректы выписывал.

Сам задаюсь таким вопросом, но вроде из простого JS врядли доступна такая информация, только в связке JS + какой-нибудь серверный язык, скрипт (PHP, perl, SSI).

Настраиваем веб-сервер чтобы он js файлы обрабатывал

например php интерпритатором, подключаем js с такого сервера, а а самом файле js пишем php код генерирурющий javascript, например:

<?php
echo "alert('Ваш ip: ".getenv("REMOTE_ADDR")."');";
?>

По такому принципу работают практически все скрипты якобы полчающие ip средствами javascript, которые я видел:

http://javascript.internet.com/user-details/ip-address.html

http://www.hashemian.com/tools/visitor-IP.htm

В том числе и Google Analytics: http://www.google-analytics.com/urchin.js

Oniks:
А то ведь можно УРЛ изменить не только добавив запросы, но и якорь. ;)

Тоже сначало задумался над этим, но слава блогу сапе не рассматривает адреса с разными якорями как разные страницы, ну или я может что то упускаю из виду...

AlienZzzz:
Какой бы не был редирект яша банит. попадал не раз (

За редиректы? Тогда дела плохи, особенно для сайтов которые делали в "веботделе" 🙄

<META HTTP-EQUIV="Refresh" CONTENT="10; URL=/"> 

Сделал у себя так:

$uri = getenv('REQUEST_URI'); 

$url = preg_replace("#^([^\?]+).*$#msi", "\\1", $uri);
if ($url!=$uri) {
header("Location: {$url}", TRUE, 301);
exit();
}

P.s. Фух, вроде бы в этот раз пронесло :D

Быстрое решение для страниц и движков в которых динамические параметры GET не используются, добавляем в начале скриптов следующий код:


$uri = getenv('REQUEST_URI');
$url = preg_replace("#^([^\?]+).*$#msi", "\\1", $uri);
if ($url!=$uri) {
header("Location: {$url}", TRUE, 301);
exit();
}

301 редирект (Moved Permanently) на эту же страницу без параметров.

Дальше думаем как переделать сайт чтобы он работал без GET запросов. 🚬

Leg1oner:
Можно использовать форум до версии 1.3 . Старые версии бесплатны. Очень нравится IPB, очень функционален и удобен. Множество бесплатных и платных модов и скинов!

В старых версиях - старые уязвимости, кроме того у меня ипб 1.3, скачанный еще в далекие времена, без дополнительных исправлений - отказывается работать на новых версиях php и mysql. Хотя сейчас судя по тому что спрос на бесплатные форумы растет, наверно есть готовые моды и патчи которые все это дело правят 🚬

Wary:
могу посоветовать IPB и punbb в целом хорошие форумы

IPB платный 🚬

12 3
Всего: 26