Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Пароль на PHP страницу. / 25 сообщений из 49, страница 1 из 2
17.11.2014, 07:41
    #38807793
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Всем доброго времени суток! Есть у меня pass.php страница с паролем. Который при правильном вводе пароля перекидывает на нужную страницу. Проблема в том, что если скопировать адрес ссылки нужной страницы и открыть в другой вкладке то он не просит пароль. А просто открывает его. Не могу сделать так чтоб при открытии нужной страницы запрашивало пароль. И как таймер установить...
...
Рейтинг: 0 / 0
17.11.2014, 09:31
    #38807851
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
пишите сессию при удачной авторизации, и на нужной странице проверяйте сессию, если нет, редирект на авторизацию.
...
Рейтинг: 0 / 0
17.11.2014, 09:58
    #38807874
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnogu,
Можете показать пример? И на этом примере я буду дальше копать.
...
Рейтинг: 0 / 0
17.11.2014, 10:34
    #38807923
Piple0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Ищите "простая php авторизация" в гугле. Ее можно сделать через куки, или через базу данных.
Одна из первых ссылок
...
Рейтинг: 0 / 0
17.11.2014, 12:03
    #38808056
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Piple0Ищите "простая php авторизация" в гугле. Ее можно сделать через куки, или через базу данных.
Одна из первых ссылок
Попробовал сделать по этому примеру. Получилось. Но... Но все так же. Вот код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<?
session_start();
if ($_POST['login'] == 'admin' && $_POST['password'] == 'password') {
$_SESSION['auth'] = '1';
echo 'Вы авторизовались';
}
?>

<?php

if (isset($_SESSION['auth'])) echo 'вы авторизованы';

?>

<?php

unset($_SESSION['auth']);

?>

<?php
if (isset($_GET[logout])) {
unset($_SESSION['auth']);
echo 'Выход успешен';
}

?>
<a href='m.jae.php?logout'>Выйти</a>

<?php

if ($_POST['login'] == 'admin' && $_POST['pass'] == 'admin') $_SESSION['auth'] = '1';
if (isset($_GET['logout'])) unset($_SESSION['auth']);
?>
<html>
<body>
<?php
if (isset($_SESSION['auth']))echo 'Вы авторизованы, <a href="admin/index.php?logout">Выход'; else {?>
<br><form method='POST' action = 'admin/index.php'><br>Логин<input type='text' name='login'><br>
<br>Пароль<input type='password' name='pass'><br><br><input type='submit' value='Авторизоваться'><br>
</form><br>вы не авторизованы <br><?}?><br></body></html>

Это срабатывает тогда, когда ссылаешься именно на этот файл(password.php). Если редирект напишу, то он все равно же будет кидать на password.php каждый раз даже если авторизован. Где-то я что-то пропускаю... Тыкните пальцем и укажите плиз...
...
Рейтинг: 0 / 0
17.11.2014, 13:05
    #38808166
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
вот лишнее
Код: php
1.
2.
3.
4.
5.
<?php

unset($_SESSION['auth']);

?>



Код: php
1.
session_start();

должно быть на каждой странице
...
Рейтинг: 0 / 0
17.11.2014, 14:00
    #38808308
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnoguвот лишнее
Код: php
1.
2.
3.
4.
5.
<?php

unset($_SESSION['auth']);

?>



Код: php
1.
session_start();

должно быть на каждой странице
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\localhost\www\mobile\yurtarif.php:1) in Z:\home\localhost\www\index.php on line 1
...
Рейтинг: 0 / 0
17.11.2014, 14:02
    #38808312
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
то есть так.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\localhost\www\mobile\yurtarif.php:1) in Z:\home\localhost\www\mobile\yurtarif.php on line 1

в гугле искал...
...
Рейтинг: 0 / 0
17.11.2014, 14:16
    #38808339
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
PHucker,

перед <?php в самом начале файла не должно быть никаких символов, у вас есть, поэтому и ошибка. Сохраните в utf-8 без bom может скрытый символ какой. notepad++ в помощь
...
Рейтинг: 0 / 0
17.11.2014, 14:21
    #38808350
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnoguPHucker,

перед <?php в самом начале файла не должно быть никаких символов, у вас есть, поэтому и ошибка. Сохраните в utf-8 без bom может скрытый символ какой. notepad++ в помощь Спасибо, с этим разобрался. Ошибка исчезла. Но страница просто открывается как раньше. Не спрашивает пароль ((
...
Рейтинг: 0 / 0
17.11.2014, 14:27
    #38808360
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
код страницы покажите
...
Рейтинг: 0 / 0
18.11.2014, 07:28
    #38809020
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnoguкод страницы покажите
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
<?php session_start();?>
<!DOCTYPE html>
<html>  
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <style>
    #box {
      border: 1px solid black;
      width: 300px;
    }
    #box h4 { cursor: pointer; }
    #box ul {
      border: 1px solid black;
      width: 200px;
    }
  </style>
</head>
<body>
  <div id="box"> 
    <h4 class="menuTitle"><span>Информация</span></h4>		
    <ul class="centerMenu">
      <li class="menuItem">Пункт №1</li>
      <li class="menuItem">Пункт №2</li>
      <li class="menuItem">Пункт №3</li>
    </ul> 
    <h4 class="menuTitle"><span>Прокламация</span></h4>		
    <ul class="centerMenu">
      <li class="menuItem">Пункт №4</li>
      <li class="menuItem">Пункт №5</li>
      <li class="menuItem">Пункт №6</li>
    </ul> 
    <h4 class="menuTitle"><span>Info</span></h4>		
    <ul class="centerMenu">
      <li class="menuItem">Пункт №7</li>
    </ul> 
  </div>
  <script>
    function initialize() {
      var box = $('#box'),
          menu = box.children('.centerMenu'),
          menuTitle = box.children('.menuTitle');   
      menu.hide();
      menu.mouseleave(function () { $(this).hide(300); });
      box.mouseleave(function () { menu.hide(300); });
      menuTitle.on('mouseenter', 'span', function(){
         $(this).parent().next().show(300);
      });
    }
    
    $(document).ready(initialize());
  </script>
</body>
</html>

Вот на этом песочница.
...
Рейтинг: 0 / 0
18.11.2014, 07:32
    #38809025
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Вчера не заметил. Если сохранить без BOM, крякозябры на странице отображаются. Кодировка пропадает.
...
Рейтинг: 0 / 0
18.11.2014, 07:35
    #38809026
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
PHuckerВчера не заметил. Если сохранить без BOM, крякозябры на странице отображаются. Кодировка пропадает. Или денвер затупил не знаю. Седня вот такая проблема...
...
Рейтинг: 0 / 0
18.11.2014, 09:19
    #38809073
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
ну сессии вы запустили, а проверка переменной где?

Код: php
1.
2.
3.
4.
5.
if (!isset($_SESSION['auth'])) {
    /*тут редирект, или смерть с грозным сообщением,
    мол как ты сюда попал, и я записал твой айпи,
    так что все, хана тебе... и ссылка на страницу авторизации*/
}



про крокозябры:
на странице в хедере прописываем meta charset utf-8
в .htaccess пишем addDefaultCharset utf-8
...
Рейтинг: 0 / 0
18.11.2014, 09:45
    #38809095
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnoguif (!isset($_SESSION['auth'])) {
/*тут редирект, или смерть с грозным сообщением,
мол как ты сюда попал, и я записал твой айпи,
так что все, хана тебе... и ссылка на страницу авторизации*/
} куда это прописать?
...
Рейтинг: 0 / 0
18.11.2014, 11:47
    #38809261
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
PHucker,

после
Код: php
1.
session_start();
...
Рейтинг: 0 / 0
18.11.2014, 12:24
    #38809342
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Извините, не понимаю. (Прошу понять и простить). Сюда?
Код: html
1.
2.
3.
4.
5.
6.
7.
<?php session_start();
if (!isset($_SESSION['auth'])) {
echo 'hasta la vista baby';
}?>
<!DOCTYPE html>
<html>  
<head> ...... и т.д
...
Рейтинг: 0 / 0
18.11.2014, 12:51
    #38809380
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
да сюда
...
Рейтинг: 0 / 0
18.11.2014, 13:04
    #38809407
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnogu,

Прописал туда. Но ничего не происходит. Объясните пожалуйста по пунктам.
...
Рейтинг: 0 / 0
18.11.2014, 13:22
    #38809445
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
PHucker,

ну вы хоть немного голову подключайте, а не тупо копипаст.

- на странице авторизации стартуем сессии
- если удачно авторизовались пишем в сессию ваш auth, перенаправляем на нужную страницу
- на остальных страницах так же стартуем сессии
- проверяем если есть переменная auth в сессии, то показываем страницу, если нет выдаем ошибку.
...
Рейтинг: 0 / 0
18.11.2014, 15:50
    #38809741
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
SharuPoNemnogu- на остальных страницах так же стартуем сессииЛучше бы "инклюдим файл, отвечающий за авторизацию". Ну, это после понимания механизма...
...
Рейтинг: 0 / 0
18.11.2014, 18:52
    #38810017
Dadont
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
вот из http://phpfaq.ru/sessions
создадим файл auth.php:
<?
if (isset($_POST['auth_name'])) {
$name=mysql_real_escape_string($_POST['auth_name']);
$pass=mysql_real_escape_string($_POST['auth_pass']);
$query = "SELECT * FROM users WHERE name='$name' AND pass='$pass'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
session_start();
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER ['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER ['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
?>
<form method="POST">
<input type="text" name="auth_name"><br>
<input type="password" name="auth_pass"><br>
<input type="submit"><br>
</form>
<?
}
exit;
?>

теперь достаточно написать во всех защищаемых скриптах строчку
require "auth.php";
...
Рейтинг: 0 / 0
19.11.2014, 06:52
    #38810280
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Все записал в файл password.php и попробовал подключить к странице finindex.php. выдало такую ошибку Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\mobile\finindex.php:1) in Z:\home\localhost\www\mobile\password.php on line 13 Сохранил без BOM. Пробовал включить output_buffering в денвере. Никаких пробелов перед началом кода нет.
...
Рейтинг: 0 / 0
19.11.2014, 07:08
    #38810283
PHucker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль на PHP страницу.
Оказалось что finindex.php был с BOM
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Пароль на PHP страницу. / 25 сообщений из 49, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]