|
|
|
| Доброго времени суток.
Хороший форум, приятно когда люди отвечают даже на самые глупые (элементарные :) ) вопросы. Иногда создается впечатление что на многих форумах прописан маленький скриптик который первым ответом на вопрос прописывает "Смотри FAQ!!!" или "Ищи в Google!!!" :). В принципе это правильно, но ведь зачастую у человека (назовем его начинающим программистом) настолько низкая подготовка, что он даже вопрос толком не может сформулировать а уж искать что-либо в поисковиках вовсе не представляется возможным, а проблему нужно решить бысро и без глубокого изучения например того же РНР. Так что, уважаемые организаторы и активные пользователи - Спасибо Вам от всех начинающих программистов за Ваше терпение и понимание!!!
Ну это лирика, а вопрос собственно вот в чем. Можно ли как то скрыть параметры в адресной строке? напрмер чтоб было вот так: "http://softtime.nodex.ru/forum/addthemeform.php" или вообще вот так: "http://softtime.nodex.ru/forum/". Вы спросите зачем. Ну хотябы в качестве дополнительной защиты от хацкеров, ведь если они не видят структуру сайта, то и разобраться им сложнее.
Извиняйте если говорю глупости... :) | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 11:18)
| | Самое простое - передавать требуемые параметры не GET'ом (через строку адреса), а POST'ом, используя скрытые (hidden) поля. Но при этом достаточно будет посмотреть HTML-код страницы, чтобы все узнать; скрытие же HTML-кода - задача трудоемкая, хотя и решаемая. | |
|
|
|
|
|
|
|
для: Киналь
(05.01.2006 в 12:02)
| | Если можно пример со скрытыми полями | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 12:17)
| | <form method='post' action='index.php'>
<input type=text name='name' >
<input type=hidden name='name2' value='значение для скрытого поля'>
<input class=ser type=submit value='ОТПРАВИТЬ'>
</form>
В этом примере поле и именем name2 скрыто (имеет атрибут hidden), при отправке, значение этого поля (значение value этого поля) будет отправлено скрипту. | |
|
|
|
|
|
|
|
для: Киналь
(05.01.2006 в 12:02)
| | Можно также через сессии передавать...
PS Только отсутствие параметров приведёт к тому, что попасть на страницу можно будет только следуя ссылкам и нельзя будет попасть на страницу напрямую минуя лабиринт ссылок. Помимо того, что не будут срабатывать ссылки с других сайтов, к вам не смогут попасть роботы поисковых систем, а это может сказаться на раскрутке вашего сайта. | |
|
|
|
|
|
|
|
для: cheops
(05.01.2006 в 13:53)
| | Самое главное я хотел узнать Ваше мнение по поводу того стоит ли вообще скрывать параметры в адресной строке. Могу я попросить высказаться по этому поводу всех участников? | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 14:18)
| | Считаю, что нет, серьёзной защиты это не даст, и будет соблазн пренебречь ей в коде... | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 11:18)
| | modrewrite ЧБН РПНПЦЕФ | |
|
|
|
|
|
|
|
для: Artem S.
(05.01.2006 в 12:38)
| | >modrewrite ЧБН РПНПЦЕФ
не понял :) | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 13:03)
| |
forma_post.htm (сохраните этот кода как файл forma_post.htm)
<form action="script_post.php" method="post">
<input type="text" name="field_name">
<input type="hidden" value='"Привет"' name='about_me'>
<input type="submit" name='button'>
</form>
forma_get.htm (сохраните этот кода как файл forma_get.htm)
<form action="script_get.php" method="get">
<input type="text" name="field_name">
<input type="hidden" value='"Привет"' name='about_me'> // скрытое поле. нельзя увидеть в HTML.
<input type="submit" name='button'>
</form>
Далее сохраните это как script_post.php
<?php
echo $_POST['field_name'].'<br>';
echo $_POST['about_me'].'<br>';
?>
Далее сохраните это как script_get.php
<?php
echo $_GET['field_name'].'<br>';
echo $_GET['about_me'].'<br>';
?>
|
И посмотрите на address bar. (на адресную строку). Сами увидите разницу. | |
|
|
|
|
|
|
|
для: hatsker
(05.01.2006 в 13:21)
| | С формами в общем то все понятно, а вот если параметры передаються станице через гиперссылку например
echo "<a href=\"".$PHP_SELF."?id=2&lang=ru\">нажми</a>";
|
| |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 13:03)
| | Здесь имеется ввиду модуль ReWrite, который позволяет посредством конфигурационного файла .htaccess изменить URL до неузнаваемости, этому посвящена каждая вторая тема форума Apache. | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 11:18)
| | С помощью файла .htaccess все запросы в которых нет точки отдавать на обработку одному и тому же файлу , например index.php. Тогда все запросы вида site.com/news, site.com/articles и тд и тп будут обрабатываться файлом index.php, который лежит в корне. В этом файле парсим строку $HTTP_SERVER_VARS['REQUEST_URI'] (строка запроса). Например разобъем(explode) ее разделителем "/" слэшем, получим при вот таком запросе site.com/news/2005_12_3/123 массив
$arr[0] = news
$arr[1] = 2005_12_3
$arr[2] = 123
Это все к примеру, у Вас список этих параметром может быть любым, и уже в зависимости от этих параметров файл index.php (который обрабатывает запрос) подключит соответсвующие файлы (в данном случае подключит модуль news а тот в свою очередь найдет новости на 3 декабря 2005 года и из новостей выберет ту которая под номером 123) | |
|
|
|
|
|
|
|
для: PantiL
(05.01.2006 в 14:03)
| | Хацкерам всеравно, видят они твои переменные, или нет. Есть стандартный набор процедур для проверки страницы на уязвимость xss скриптам и уже по его результатам происходит дальнейшая атака. Никакие хиден поля ничего для хацкера не меняют, они все видны в его инструментарии, как и обычные параметры GET строки.
Поэтому спастись от атак можно только грамотным кодом с полной проверкой и обработкой GET и POST данных. | |
|
|
|
|
|
|
|
для: XPraptor
(05.01.2006 в 14:29)
| | Воооот это уже интереснее. Что за xss скрипты, где достать? Интересно самому проверять на "дырявость" свои скрипты :). | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 14:35)
| | У хостера можешь попросить своего, или поискать по поиску инструменты для атак. Мой хостер сам периодически проверяет все сайты, безбашенно атакуя их xss скриптами, а потом присылает отчет об уязвимостях и рекомендации к устранению. Правда они за 5 дней предупреждают, что будет атака и если ты против можешь отказаться. Я не отказываюсь :)) пусть бомбят себе в удовольствие, правда формы обратной связи столько мессаг присылают на мыло после таких развлечений хостера :)))) | |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 14:35)
| | Возможно вам будет интересна статья по ссылке http://www.softtime.ru/info/articlephp.php?id_article=35 | |
|
|
|
|
|
|
|
для: XPraptor
(05.01.2006 в 14:29)
| | На счет грамотного кода, Вы правы, но дело еще и в другом. УРЛ вида site.com/news/bla_bla намного красивее выглядит и лучше запоминается. А так как каталог news не существует, то это может значительно запутать хацкера. Зтрока запроса только показывает что хочет увидеть юзер, а откуда это скрипт вытащит и покажет уже никому не известно!!! | |
|
|
|
|
|
|
|
для: PantiL
(05.01.2006 в 14:48)
| | Почему это не известно? Сервер вернет 301-303 редирект, инструмент хацкера отменит переход по редиректу и вернет адрес со всей строкой запроса к исполняемому скрипту. Я же говорю, хацкеру всеравно используется modrewrite post данные или get всеравно его инструментарий все видит в плоть до декодированных кукисов.
Поэтому красивая строка, она только действительно для наглядного представления в адресной строке обозревателя. А на счет запомнить - тоже сомнительно. Запомнят сайт, но никак не адрес конкретной страницы с четырьмя слэшами. | |
|
|
|
|
|
|
|
для: XPraptor
(05.01.2006 в 14:54)
| | Ну если определите на моем сайте путь к исполняемому файлу я соглашусь с Вами. (потом расскажите как сделали)
http://chertkovo.info | |
|
|
|
|
|
|
|
для: PantiL
(05.01.2006 в 19:06)
| | >Ну если определите на моем сайте путь к исполняемому файлу я
>соглашусь с Вами. (потом расскажите как сделали)
>http://chertkovo.info
В принципе именно про такой вид адресной строки я и спрашивал. Как этого добиться и будет ли это влиять на раскрутку сайта, с хацкерами более-менее понятно. Ваши коментарии... | |
|
|
|
|
|
|
|
для: aalexx
(06.01.2006 в 08:57)
| | У меня реализовано так как я писал выше. Этот метод называется - виртуальные каталоги. Все эти каталоги запрашиваемые юзером news, articles, ... не существуют!!! | |
|
|
|
|
|
|
|
для: PantiL
(06.01.2006 в 09:05)
| | Где про это прочитать в более развернутом виде (опыта не хватает разобраться в Вашем примере плз. :)) Звиняйте за деревянность.
З.Ы. Я имею ввиду то что касается .htaccess | |
|
|
|
|
|
|
|
|
для: PantiL
(06.01.2006 в 10:55)
| | Спасибо всем большое... | |
|
|
|