Показывать различные материалы до и после входа в систему

Я хочу показать разные div с различным содержимым в разных условиях.

Если клиент вошел в систему, а затем покажите контент A, Если клиент не вошел в систему, тогда покажите контент B,

Это сценарий, который у меня есть, не уверен, что это правильно или нет.

<?php if (!$logged) {


$disp_div=1;

} else { 

$disp_div=0;

} ?>

Это JQuery

<script type="text/javascript" >
$(document).ready(function(){

var show=<?php echo $disp_div; ?>

 if(show==1)
 {
    $('#div_logged_in').show();
    $('#div_not_logged_in').hide();

 }
else if(show==0)
 {
    $('#div_logged_in').hide();
    $('#div_not_logged_in').show();
     }
 });

Это HTML

<div id="div_logged_in">
Content A
</div>

<div id="div_not_logged_in">
Content B
</div>
0
Вы знаете, что контент будет отображаться в исходном коде html?
добавлено автор bitWorking, источник
Вы знаете, что контент будет отображаться в исходном коде html?
добавлено автор bitWorking, источник
Да, я знаю об этом. Я - графический дизайнер и стараюсь самим программировать. Прежде чем перейти к более глубокому знанию программирования, единственный способ для меня - использовать каждый метод, который я мог бы найти, и мог бы легко понять. благодаря
добавлено автор Choon Ng, источник
Да, я знаю об этом. Я - графический дизайнер и стараюсь самим программировать. Прежде чем перейти к более глубокому знанию программирования, единственный способ для меня - использовать каждый метод, который я мог бы найти, и мог бы легко понять. благодаря
добавлено автор Choon Ng, источник

9 ответы

A: Зачем? $ logged неправильно:

Вы используете локальную переменную. В следующий раз, когда ваш пользователь обновит страницу, он больше не войдет в систему. Для этого вы можете хранить переменные в массиве с именем $ _SESSION. Этот массив сохраняется для сеанса клиента на вашем веб-сервере. Поскольку пользователь остается там, он всегда будет оставаться неизменным (пока вы не измените его). Для этого вам потребуется session_start (); в первой строке основного скрипта PHP.

B: Почему часть JavaScript является утечкой безопасности:

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

C: Каков правильный путь?

Это просто некоторые PHP, которые эхо HTML без Javascript и использует $ _SESSION:

<?php
    if($_SESSION["loggedIn"] == "yes") { //You have to set that somewhere else just like $logged
    ?>
        

You ARE logged in.

<?php } else { ?>

You ARE NOT logged in.

<?php } ?>
6
добавлено
Ты прав. На моих собственных сайтах я привык просто устанавливать $ _SESSION ["UID"], поэтому я проверяю ($ _SESSION ["UID"]! = "").
добавлено автор th3falc0n, источник
хороший ответ, его лучше использовать if ($ _ SESSION ["loggedIn"] == 'value')
добавлено автор user1646111, источник
Я понимаю утечку, но в настоящее время у меня едва ли есть знания в области программирования, поэтому я просто использую то, что мне легче понять. Спасибо за исправление, я попытаюсь это узнать.
добавлено автор Choon Ng, источник

A: Зачем? $ logged неправильно:

Вы используете локальную переменную. В следующий раз, когда ваш пользователь обновит страницу, он больше не войдет в систему. Для этого вы можете хранить переменные в массиве с именем $ _SESSION. Этот массив сохраняется для сеанса клиента на вашем веб-сервере. Поскольку пользователь остается там, он всегда будет оставаться неизменным (пока вы не измените его). Для этого вам потребуется session_start (); в первой строке основного скрипта PHP.

B: Почему часть JavaScript является утечкой безопасности:

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

C: Каков правильный путь?

Это просто некоторые PHP, которые эхо HTML без Javascript и использует $ _SESSION:

<?php
    if($_SESSION["loggedIn"] == "yes") { //You have to set that somewhere else just like $logged
    ?>
        

You ARE logged in.

<?php } else { ?>

You ARE NOT logged in.

<?php } ?>
6
добавлено
Ты прав. На моих собственных сайтах я привык просто устанавливать $ _SESSION ["UID"], поэтому я проверяю ($ _SESSION ["UID"]! = "").
добавлено автор th3falc0n, источник
хороший ответ, его лучше использовать if ($ _ SESSION ["loggedIn"] == 'value')
добавлено автор user1646111, источник
Я понимаю утечку, но в настоящее время у меня едва ли есть знания в области программирования, поэтому я просто использую то, что мне легче понять. Спасибо за исправление, я попытаюсь это узнать.
добавлено автор Choon Ng, источник

Я не знаю, что такое $ logged . Если это переменная, чтобы определить, вошел ли пользователь в систему, ваше условие просто противоположно вашему требованию. Вы показываете div_logged_in , когда пользователь не вошел в систему из этого условия.

if(show==1)
 {
    $('#div_logged_in').show();
    $('#div_not_logged_in').hide();

 }

Значение show будет равно 1, если $ logged - false. Поэтому измените условие, и вы его получите. В этом случае я предлагаю вам перейти с СЕССИЯми . Вы можете использовать в любом месте, чтобы проверить, вошел ли пользователь в систему или нет.

1
добавлено
@AkamOmer Я не зависим от клиентского скрипта для этих условий. Пожалуйста, прочитайте мою последнюю строку. Я предложил ему пойти только на сеансы.
добавлено автор Edwin Alex, источник
Вы зависите от клиентской стороны для управления безопасным контентом?
добавлено автор user1646111, источник

Я не знаю, что такое $ logged . Если это переменная, чтобы определить, вошел ли пользователь в систему, ваше условие просто противоположно вашему требованию. Вы показываете div_logged_in , когда пользователь не вошел в систему из этого условия.

if(show==1)
 {
    $('#div_logged_in').show();
    $('#div_not_logged_in').hide();

 }

Значение show будет равно 1, если $ logged - false. Поэтому измените условие, и вы его получите. В этом случае я предлагаю вам перейти с СЕССИЯми . Вы можете использовать в любом месте, чтобы проверить, вошел ли пользователь в систему или нет.

1
добавлено
@AkamOmer Я не зависим от клиентского скрипта для этих условий. Пожалуйста, прочитайте мою последнюю строку. Я предложил ему пойти только на сеансы.
добавлено автор Edwin Alex, источник
Вы зависите от клиентской стороны для управления безопасным контентом?
добавлено автор user1646111, источник

Во-первых, вам нужно начать читать о сеансах и суперкоммуляторе $ _SESSION ,

После этого отбросьте этот скрипт и найдите подходящий учебник, я нашел здесь очень приятное:

Во-первых, вам нужно начать читать о сеансах и суперкоммуляторе $ _SESSION ,

После этого отбросьте этот скрипт и найдите подходящий учебник, я нашел здесь очень приятное:

use if($_SESSION["username"])

вы можете установить его в файле login.php и уничтожить его, используя session_destroy() в logout.php

0
добавлено

Пожалуйста, не зависеть от проверки на стороне клиента, потому что это поток безопасности в вашем приложении, что, если клиент просмотрел исходный код вашей страницы? затем они видят скрытое содержимое.

Ваш подход правильный, но вы должны использовать $ _SESSION или $ _COOKIE, а не (! $ Logged), и, как я уже сказал, не оставляйте контент полностью.

0
добавлено

Пожалуйста, не зависеть от проверки на стороне клиента, потому что это поток безопасности в вашем приложении, что, если клиент просмотрел исходный код вашей страницы? затем они видят скрытое содержимое.

Ваш подход правильный, но вы должны использовать $ _SESSION или $ _COOKIE, а не (! $ Logged), и, как я уже сказал, не оставляйте контент полностью.

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing