Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Илхом
2 / 2 / 0
Регистрация: 19.04.2015
Сообщений: 209

Чтобы контент был не доступен гостьям. Авторизация в PHP

12.10.2015, 16:25. Показов 1817. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго.
У меня щас просто статический сайт.
Сайт надо сделать так чтобы, не зарегистрированным пользователям контент сайта не был доступен.
Как это организовать, можете кратко объяснить, я быстро ловлю)))

Вопрос 2:
Мои умения: базовые знание PHP, умею вытаскивать, добавить или удалить данные в базу.
С помощью этих знаний смогу ли организовать продуманное.

Если есть учебные материалы по теме. Буду рад.

Добавлено через 25 минут
https://www.cyberforum.ru/html/thread261903.html
вот это нашел! что-то слишком сложное. Гляньте-ка.
И что думаете?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2015, 16:25
Ответы с готовыми решениями:

Как объявить массив, чтобы он был доступен из всех методов
Как объявить двумерный массив так, чтобы я его мог использовать во всех процедурах программы, и как добавить элементы в него ?

Как создать массив в одной форме, чтобы он был доступен в другой
в первой форме создаю массив данных во второй форме его проверяю Но во второй форме он не доступен. как сделать его доступным? или...

Создание потока таким образом, чтобы файл был доступен другим программам
Здравствуйте Я создаю поток для записи в бинарный файл: using (FileStream stream = new FileStream("file.bin",...

8
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
12.10.2015, 16:40
рекомендую
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
12.10.2015, 16:43
Цитата Сообщение от Илхом Посмотреть сообщение
Как это организовать, можете кратко объяснить, я быстро ловлю)))
Если кратко, при отправке формы проверяете логин и пароль юзера и, если юзер с такими данными существует, отправляете пользователю куку с рандомным текстом (в случае использования кук), либо записываете его идентификатор в сессию (в случае использования сессий).

Далее при каждом заходе на страницу со скрытым контентом проверяете идентификатор сессии/куку. Если совпадает с данными из БД - отображаем контент, если нет - редирект на страницу входа.

В этой теме есть много нюансов, например, хранить пароль в открытом виде нельзя. Поищите в интернете примеры авторизации на PHP, найдёте больше информации.
0
 Аватар для Илхом
2 / 2 / 0
Регистрация: 19.04.2015
Сообщений: 209
12.10.2015, 19:08  [ТС]
Цитата Сообщение от Laroux Посмотреть сообщение
рекомендую
я вижу у Вас была какая то проблема, включающий скрипта которого Вы рекомендовали мне.
Наверное Вы уже в нем все как свои 5 пальцев знаете. Поэтому не могли бы Вы объяснить что-к-чему.
Благодарю Вас.
Ожидание загрузки страницы
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
12.10.2015, 20:00
Лучший ответ Сообщение было отмечено Илхом как решение

Решение

Цитата Сообщение от Илхом
Сайт надо сделать так чтобы, не зарегистрированным пользователям контент сайта не был доступен.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
# Флаг прохождения процесса авторизации
$is_logged_user = true;
 
# Пользователь выполнил вход?
if( $is_logged_user ) {
    # Да. 
    echo 'Добро пожаловать, пользователь!';
 
} else {
    # Нет.   
    echo 'Вы можете зарегистрироваться';
}
 
?>
Вот и думайте как получить значение для переменной $is_logged_user.

Когда это значение получено по нему определяете какой контент на сайте выводить - гостевой либо пользовательский (соотв. стр. №9 и №13)

Шаблоны храните в каталоге templates. Это обычные файлы с разметкой, но в них есть метки. К примеру для пользовательской части

templates/ucp.template
HTML5
1
Добро пожаловать, {USER_LOGIN}!
где USER_LOGIN это метка. Этой меткой заменяете логин пользователя. К примеру это логин vasilij. Тогда

HTML5
1
Добро пожаловать, vasilij!
1
 Аватар для Илхом
2 / 2 / 0
Регистрация: 19.04.2015
Сообщений: 209
12.10.2015, 21:31  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
Вот и думайте как получить значение для переменной $is_logged_user.
Когда это значение получено по нему определяете какой контент на сайте выводить - гостевой либо пользовательский (соотв. стр. №9 и №13)
то что, Вы сказали, думаю что могу сделать.
1. Проверю авторизовался ли пользователь.
2. Если нет показываю страницу без ключевых слов начиная с <title> до <footer>.
3. Если же авторизовался, то показываю весь страницу с изюминками.
________________________________________ _________________________________
я правильно понял?
ведь для этого должен использовать куки да? (проблема в том что я ни разу не использовал их, можете обяснить)
Благодарю.

Добавлено через 7 минут
или узнать IP и записать её на базе?
потом при посещении проверять?
как Вам такая идея?
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
12.10.2015, 21:40
Лучший ответ Сообщение было отмечено Илхом как решение

Решение

Илхом, это авторизация. Как проверка по паспорту человека. Как вам узнать что на сайт пришел Вася? Сказать:
- Вася, назовите секретное слово.
Вася:
- dr4gxhD3
- Верно, ты Вася. Проходи.
Вот эту проверку реализовывайте на php. В этом вам помогут функции setcookie, session_start()

Вы знаете зачем надо cookie? Это просто механизм который позволяет сохранить на компьютере посетителя сайта текстовый файл (грубо говоря, но это не так) в который можно что то записать. Вот по этому значению в cookie на каждой странице проверяется это значение перед выдачей контента. А как это реализовать - лично ваше дело. Лишь бы работало. Но есть общепринятые правила. Чаще всего это реализуют через session_start.

Цитата Сообщение от Илхом
я правильно понял?
Вроде да.

Цитата Сообщение от Илхом
ведь для этого должен использовать куки да? (проблема в том что я ни разу не использовал их, можете обяснить)
Все через функцию setcookie.

http://php.net/manual/ru/function.setcookie.php

Цитата Сообщение от Илхом
или узнать IP и записать её на базе?
потом при посещении проверять?
как Вам такая идея?
Конечно. Можно и так. А можно для надежности сверять ip + сессии. Но лучше не делайте сверку только по IP.

Кстати, на таких сервисах вроде почта Google можно поставить защиту от взлома ящика по IP. То есть если ваш IP постоянно одинаковый Вы можете указать его в настройках безопасности. И даже если пароль от ящика знаешь в аккаунт не зайдешь со сторонним IP. Можно вместо сессий использовать даже номер сотового телефона. Пользователь вводит свой номер телефона и ему в смс'ке приходит код. Он вводит его в поле и если он свериться с базой то заходит. Есть много способов определить пользователя, то есть, как говорят - идентифицировать.

Добавлено через 1 минуту

Не по теме:

Может где-то ошибаюсь

1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
12.10.2015, 23:59
Лучший ответ Сообщение было отмечено Илхом как решение

Решение

Цитата Сообщение от Илхом Посмотреть сообщение
у Вас была какая то проблема, включающий скрипта которого Вы рекомендовали мне
проблема была в "жучках" яндекса или гугла.. блокировались, долго грузились. В общем скрипт оказался ни причем.
А скрипт ну просто элементарный. Попробуйте просто по инструкции все сделать - не думаю, что будут какие-то проблемы или непонятки.

Нюанс: я вижу два пути Ваших, но не могу понять, по какому Вы идете. А именно:
1) Вы учите PHP
2) Вы реализуете какую-то конкретную несложную задачу

Если 1) - то не слушайте меня. Слушайте, что Вам советует tolimadokara. "Копайте" сами - это самый лучший опыт и обучение, по мне.
Если 2) - то берите предложенный мной скрипт и не забивайте себе голову
1
 Аватар для Илхом
2 / 2 / 0
Регистрация: 19.04.2015
Сообщений: 209
13.10.2015, 11:39  [ТС]
Цитата Сообщение от Laroux Посмотреть сообщение
Если 1) - то не слушайте меня. Слушайте, что Вам советует tolimadokara. "Копайте" сами - это самый лучший опыт и обучение, по мне.
Я изучал cookie. Она (он?) не такая уж сложная. Спасибо за совет. Не знаю чтобы без Вас друзья я делал.

PHP
1
2
3
<?php
setcookie('name', 'ilhom', 'domain.ru');
?>
1. это значить что, на границах домена "domain.ru" мой куки работают?
2. на localhost тоже действует?

Добавлено через 10 часов 6 минут
PHP
1
2
3
4
5
6
if (logged_user == false) {
мои коды HTML (содержатся таблицы)
}
else {
мои коды HTML (содержатся таблицы)
}
так внутри условии в PHP. как вставить HTML код.
heredoc посоветуете? или есть способы еще проще?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2015, 11:39
Помогаю со студенческими работами здесь

Возможно ли сделать так чтобы лишь 1му пользователю который использует Wi-Fi был доступен интернет?
То вот вай-фай тчк. и пусть к ней подключаются все, а интернет от этой точки будет доступен лишь 1му человеку...

доступен контент из MySQL, который расположен на localhost, во внешке?
доступен контент из MySQL, который расположен на localhost, во внешке? то есть доступ к MySQL у меня есть на каждом виртульном хосте...

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

Создать массив переменной емкости, который был бы доступен из всей формы, а не только в одной функции
Требуется создать массив переменной емкости который был бы доступен из всей формы, а не только в одной функции. Умею создавать массивы...

Как сделать чтобы Label был сверху картинки и был прозрачен?
Как сделать чтобы label был сверху картинки и он был прозрачен?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru