Я сомневаюсь, что любой из них должен работать. Попробуйте: сначала импортируйте пространство имен в начале кодовой страницы, как показано ниже.
using System.Drawing;
затем в коде.
Button4.BackColor = Color.LawnGreen;
Надеюсь, это поможет.
Обновление безопасности : от 2017-10-23: совет в этом ответе, хотя и имеет историческое значение, полностью небезопасен. Никогда не следует использовать md5 для хеширования пароля, потому что его так легко подобрать. См. этот ответ о том, как использовать встроенный password_ * api для хеширования и проверки паролей.
Я уже имел дело с системами входа / аутентификации ранее и обнаружил несколько недостатков в этом методе:
ДОПОЛНЕНИЕ (19 сентября 2015 г.) * Посмотрите на эту ссылку . В нем объясняются все основы, подходы, которые вы могли бы использовать, почему вы должны использовать эти подходы, а также дает вам образец кода PHP. Если читать слишком долго, просто пройдите до конца, возьмите код и приступайте!
ЛУЧШИЙ ПОДХОД : для сохранения md5 из имени пользователя + пароля + электронной почты + соли
в базе данных, соли является случайным и хранится вместе с записью пользователя.
ЛУЧШИЙ ПОДХОД : генерировать случайный идентификатор сеанса при успешном входе пользователя и сохранять этот идентификатор сеанса в массиве $ _ SESSION []
. Вам также необходимо будет связать sessionid с его uid (используя базу данных или memcached). Преимущества:
РЕДАКТИРОВАТЬ: Я всегда использовал файлы cookie вручную для обработки сеансов. Это помогает мне легче интегрировать компоненты javascript в мои веб-приложения. То же самое может потребоваться в ваших приложениях в будущем.
Это помогает мне легче интегрировать компоненты javascript в мои веб-приложения. То же самое может потребоваться в ваших приложениях в будущем. Это помогает мне легче интегрировать компоненты javascript в мои веб-приложения. То же самое может потребоваться в ваших приложениях в будущем.В этом нет ничего плохого
isset($_SESSION['uid']);
Данные сеанса не передаются пользователю, они хранятся на сервере (или где-то еще обработчик сеанса сохраняет его). Пользователю передается идентификатор сеанса, который представляет собой случайную строку, сгенерированную PHP, которую, конечно же, можно украсть, потому что она отправляется пользователю.
Следует четко отметить, что случайное сохранение строки в базе данных и сеансе пользователя, а затем использование этого для идентификации пользователя не делает сеанс более безопасным, если злоумышленник получит сеанс, который он все равно будет скомпрометирован Пользователь.
Сейчас мы обсуждаем захват сеанса , вы можете подумать, что можете просто сохранить IP-адрес в сеансе и проверить его с IP-адресом, полученным из запроса, и покончить с этим. Однако часто это не так просто, я недавно сгорел от этого, когда в большом веб-приложении мы сохраняли хэш User Agent + IP-адрес в сеансе, а затем проверяли, совпадают ли они в каждом случае для 99% пользователей. это сработало нормально. Однако мы начали получать звонки от людей, которые обнаруживали, что они постоянно выходят из системы без каких-либо объяснений. Мы включили регистрацию проверок захвата сеанса, чтобы увидеть, что происходит, и обнаружили, что эти люди будут заходить на один IP-адрес, а их сеанс будет продолжаться на другом, это не была попытка взлома, но это было связано с тем, как их прокси-сервер работал,
Я не на 100% в этом, но я думаю, что можно создать сеанс, если кто-то действительно хотел!
Я думаю, что сохранение идентификатора сеанса в таблице - самый безопасный способ сделать это.
Я немного изучил это недавно, но опять же я не уверен, мне интересно услышать, что лучше всего !
Вот несколько ресурсов, на которых стоит посмотреть