X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Хитрые кнопки
Lotus
Lotus
Topic Starter сообщение 27.11.2009, 18:11; Ответить: Lotus
Сообщение #1


Всем доброго времени суток.
Собственно,такая проблема.
Есть страница pusk.php и две кнопки.

[PHP]
echo("<input type='button' value='1'
onClick=location.href='pusk.php?a=1'>

<input type='button' value='2' onClick=location.href='pusk.php?a=2'>")
[/PHP]

Как вы видите,при нажатии на кнопку,мы возвращемся на эту же страницу,передавая определенный параметр.

Страница есть часть админки.Поэтому,сами понимаете-нужна проверка паролем.
На эту страницу можно попасть со страницы с проверкой пароля.
На странице pusk.php идет проверка:

[PHP]
if (isset($_POST['pass']) or $_SERVER['HTTP_REFERER']=="http://localhost/sa/sec/pusk.php")
{код}
else {
echo("<cener>Всё-таки стоит ввести пароль</center>");die();
}
[/PHP]

Второе условие я ввел для того,что бы человек,нажавшии на кнопку,прошел через условие if.

В чем проблема-
Человек,нажавший любую из кнопок,получит нужный результат.Переходов на другую страницу нет-весь код выполняется прямо на странице pusk.php.
Если человек нажмет на любую из кнопок второй раз-он получит:

[PHP]echo("<cener>Всё-таки стоит ввести пароль</center>");die();[/PHP]

Собственно,я думал,что $_SERVER['HTTP_REFERER'] устранит проблему-мы же переходим на страницу с ее же самой.
Как можно исправить проблему?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lotus
Lotus
Topic Starter сообщение 27.11.2009, 18:13; Ответить: Lotus
Сообщение #2


Собственно,не надо судить за непрофессиализм-сайт будет вечно хранится на моем компьютере)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 27.11.2009, 18:45; Ответить: alexdrob
Сообщение #3


можно сделать что-то типа
[PHP]<?php
session_start();

$admin_login='admin';
$admin_pass='123';

if(isset($_POST['pass']) && isset($_POST['pass'])){
if($_POST['login']==$admin_login && $_POST['pass']==$admin_pass){
$_SESSION['user']=$admin_login;
}else{
$_SESSION['user']='';
}
}
$_SESSION['user']==$admin_login or die('Ошибка!');

//код админки

?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lotus
Lotus
Topic Starter сообщение 27.11.2009, 18:52; Ответить: Lotus
Сообщение #4


Сессия-первая моя идея)
Надо без сессии выкрутиться.
Там непростая ситуация.Будет хостинг,на нем будет находится несколько саитов,будет множество людей заходить на свои саиты с одного браузера.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 27.11.2009, 18:59; Ответить: alexdrob
Сообщение #5


(Lotus @ 27.11.2009, 20:52) *
Там непростая ситуация.Будет хостинг,на нем будет находится несколько саитов,будет множество людей заходить на свои саиты с одного браузера.


и чем это помешает использовать сессии?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lotus
Lotus
Topic Starter сообщение 27.11.2009, 19:29; Ответить: Lotus
Сообщение #6


(alexdrob @ 27.11.2009, 20:59) *
и чем это помешает использовать сессии?


Тем,что любой пользователь сможет заити на страницу pusk.php,если не перегружался браузер и на странице уже побывали.

Поставим вопрос по другому-можно ли обоитись без сессии?
Так то по идее сессию можно убивать.Но хотелось бы вариант по рациональнее.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 27.11.2009, 19:36; Ответить: alexdrob
Сообщение #7


Но $_SERVER['HTTP_REFERER'] передаётся кажется браузером, так что если нужно попасть в админку то попадут )

ну можно например cookie с установкой времени. если 3 минуты не активен то логаут.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 27.11.2009, 19:40; Ответить: alexdrob
Сообщение #8


в вашем варианте не работает скорей всего по точу что когла вы кликаете по кнопке 2й раз то

$_SERVER['HTTP_REFERER'] не равен "http://localhost/sa/sec/pusk.php"

он равен
http://localhost/sa/sec/pusk.php?a=1 или http://localhost/sa/sec/pusk.php?a=2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lotus
Lotus
Topic Starter сообщение 27.11.2009, 19:56; Ответить: Lotus
Сообщение #9


(alexdrob @ 27.11.2009, 21:36) *
Но $_SERVER['HTTP_REFERER'] передаётся кажется браузером, так что если нужно попасть в админку то попадут )

ну можно например cookie с установкой времени. если 3 минуты не активен то логаут.

в вашем варианте не работает скорей всего по точу что когла вы кликаете по кнопке 2й раз то

$_SERVER['HTTP_REFERER'] не равен "http://localhost/sa/sec/pusk.php"

он равен
http://localhost/sa/sec/pusk.php?a=1 или http://localhost/sa/sec/pusk.php?a=2

Там нету таких хакеров)
А про сессию знает каждый второй,недаром по интернету бегаем)
Можно и так по идее.Но мне кажется,что проблему можно решить проще.

Дело не в этом.Как ни крути-мы идем со страницы pusk.php.Без параметра.А кнопка-перенаправляющая.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 27.11.2009, 20:15; Ответить: alexdrob
Сообщение #10


(Lotus @ 27.11.2009, 21:56) *
со страницы pusk.php.Без параметра


ну при первом нажатии без параметра а при втором с параметром вот реферер и не совпадает
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНадо поменять картинки кнопки и всё прочее.
Сделать круто, чтобы не стыдно за сайт
0 atavisma 2989 6.4.2017, 19:04
автор: atavisma
Открытая тема (нет новых ответов) Добавить к коду кнопки функцию Canvas
0 Anshag 5065 25.11.2015, 12:41
автор: -Anshag-
Открытая тема (нет новых ответов) DLE: нужно продублировать кнопки "скачать"
4 Вентилятор 2329 8.8.2015, 16:41
автор: Hamster69
Открытая тема (нет новых ответов) Пагинация, как добавить кнопки вперед и назад?
0 SlippingForest 5933 1.2.2015, 22:16
автор: -SlippingForest-
Открытая тема (нет новых ответов) Не распологаються горизантально кнопки
3 andre23 5134 13.10.2014, 18:10
автор: -Wins-


 



RSS Текстовая версия Сейчас: 20.4.2024, 12:19
Дизайн