Найдено результатов: 17

Окончательное руководство по проверке подлинности веб-сайта на основе форм

Аутентификация на основе форм для веб-сайтов

Мы считаем, что Stack Overflow должен быть не только ресурсом для очень конкретных технических вопросов, но и для общих руководящих принципов по решению вариаций общих проблем. "Form based authentication for websites" должно быть прекрасной темой для такого эксперимента.

Он должен включать такие темы, как:

  • Как войти в систему
  • Как выйти из системы
  • Как оставаться в системе
  • Управление файлами cookie (включая рекомендуемые настройки)
  • Шифрование SSL/HTTPS
  • Как хранить пароли
  • Использование секретных вопросов
  • Забытый логин / пароль функциональность
  • Использовать специальные слова, чтобы предотвратить подделка межсайтовых запросов (CSRF)
  • OpenID
  • "Remember me" checkbox
  • Автозавершение браузером имен пользователей и паролей
  • Секретный URLs (публичный URL защищен дайджестом)
  • Проверка надежности пароля
  • Проверка электронной почты
  • и многое другое о проверке подлинности на основе форм ...

Он не должен включать в себя такие вещи, как:

  • Роли и разрешения
  • HTTP обычной проверки подлинности

Пожалуйста, помогите нам:

  1. Предлагая подтемы
  2. Отправка хороших статей на эту тему
  3. Редактирование официального ответа

security   http   authentication   language-agnostic   article    

730   12   16:03, 1st July, 2020


Контрольный список для IIS 6/ASP.NET Windows аутентификации?

У меня возникли проблемы с тем, чтобы мое приложение ASP.NET автоматически регистрировало пользователей на сайте интрасети, который я создаю. Независимо от того, что я гуглил или экспериментировал, всегда есть окно входа, отображаемое IE7.

Я установил режим аутентификации Windows в Web.config, отключил анонимный доступ и настроил правильный домен по умолчанию в IIS, но он все еще просит пользователя войти в систему и, что еще более раздражает, пользователь должен также предоставить домен ( DOMAIN\auser ), что вызывает проблемы с нетехническими посетителями. Спасибо Zeus за функциональность запоминания паролей.

Я не являюсь администратором сети, поэтому вполне возможно, что что-то в Active Directory настроено неправильно, или это может быть просто я пропустил что-то очень простое. Обратите внимание, что я не хочу выдавать себя за пользователя, мне просто нужно знать, что свойство IPrincipal.Name совпадает с действительной записью в моей базе данных пользователей, следовательно, аутентификация пользователя в моем приложении.

С этой целью было бы очень полезно иметь контрольный список всех требований к конфигурации для AD, ASP.NET и IIS, чтобы работать вместе таким образом в качестве справочного материала для отладки и, надеюсь, уменьшить некоторые трения пользователей.

asp.net   iis   authentication   active-directory    

463   3   16:03, 1st July, 2020


Как я могу получить аутентифицированное имя пользователя под Apache, используя обычную HTTP аутентификацию и PHP?

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

Как я могу получить HTTP аутентифицированное имя пользователя в PHP?

php   apache   authentication   http-authentication    

516   1   16:03, 1st July, 2020


Должен ли я использовать имя пользователя или ID пользователя для ссылки на аутентифицированных пользователей в ASP.NET

Поэтому в моем простом учебном веб-сайте я использую встроенную систему аутентификации ASP.NET.

Теперь я добавляю таблицу пользователей, чтобы сохранить такие вещи, как его zip, DOB и т. д. Мой вопрос таков:

  1. В новой таблице ключом должно быть имя пользователя (строка) или пользователь ID, который является тем номером GUID, который они используют в asp_ tables .
  2. Если лучше всего использовать этот уродливый guid, кто-нибудь знает, как его получить? похоже, он не так легко доступен, как имя ( System.Web.HttpContext.Current.User.Identity.Name )
  3. Если вы предлагаете мне не использовать ни один из них (ни guid, ни поля userName, предоставляемые ASP.NET authentication), то как это сделать с ASP.NET authentication? Один из вариантов, который мне нравится, - это использовать адрес email пользователя в качестве логина, но как сделать так, чтобы система аутентификации ASP.NET использовала адрес email вместо имени пользователя? (или там нечего делать, это просто я решил, что я "know" userName на самом деле адрес email?

Пожалуйста, обратите внимание:

  • Я не спрашиваю о том, как получить GUID в .NET, я просто ссылаюсь на столбец userID в asp_ tables как guid.
  • Имя пользователя является уникальным при проверке подлинности ASP.NET.

asp.net   authentication    

551   12   16:03, 1st July, 2020


OpenID обмен атрибутами-должен ли я его использовать?

Мой сайт будет использовать только OpenID для аутентификации. Я хотел бы вытащить сведения о пользователе через обмен атрибутами, но обмен атрибутами, похоже, вызвал много горя для StackOverflow.

Каково текущее состояние дел в отрасли? Делает ли любой провайдер OpenID достойную работу по обмену атрибутами?

Должен ли я просто держаться подальше от OpenID attribute exchange вообще?

Как я могу справиться с несогласованной поддержкой функциональности?

authentication   openid    

517   2   10:46, 3rd August, 2020


OpenID аутентификация в Ruby на Rails

Я неофит с Ruby на Rails, но я создал несколько небольших приложений. В любом случае, я действительно заинтересован в OpenID и хотел бы реализовать аутентификацию OpenID и, возможно, некоторые вещи Sreg в приложении Rails. Все исследования, которые я провел, пришли к статьям, которые устарели или просто не работают для меня. Поскольку я так новичок в Rails, мне трудно отлаживать проблемы таким образом...

Как лучше всего реализовать OpenId в Rails?

ruby-on-rails   ruby   authentication   openid    

440   5   00:31, 8th August, 2020


Только принимать определенные ajax запросы от пользователей, прошедших проверку подлинности

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

Например:

Допустим, у меня есть главная страница под названием blog.php (я знаю, творчество изобилует). Предположим также, что существует страница с именем delete.php , которая ищет параметр post_id , а затем удаляет некоторую запись из базы данных.

В этом очень надуманном примере есть некоторый механизм на blog.php, который отправляет запрос через ajax к delete.php, чтобы удалить запись.

Теперь этот механизм будет доступен только аутентифицированным пользователям на blog.php. Но что мешает кому-то просто позвонить delete.php с кучей случайных чисел и удалить все на сайте?

Я сделал быстрый тест, где я установил переменную сеанса в blog.php, а затем сделал вызов ajax в delete.php, чтобы вернуться, если переменная сеанса была установлена или нет (это не было) .

Каков общепринятый способ справиться с такими вещами?


OK. Должно быть, я сошел с ума, когда впервые попробовал это сделать.

Я просто сделал еще один тест, как тот, который я описал выше, и он работал отлично.

php   ajax   authentication    

452   2   09:40, 7th August, 2020


Каков наилучший способ аутентификации через WCF?

Каков наилучший способ реализации аутентификации через WCF?

Я бы предпочел не использовать WS-*, поскольку он должен быть независимым от транспорта.

Должен ли я "свернуть свой собственный"? Есть ли какие-либо рекомендации для этого (articles/blog сообщений)?
Или есть какой-то способ (и должен ли я) использовать встроенные поставщики членства и профилей ASP.NET на стороне сервера?

.net   asp.net   wcf   authentication   membership    

446   5   02:06, 9th August, 2020


Как бы вы реализовали аутентификацию на основе FORM без резервной базы данных?

У меня есть сценарий PHP, который работает как программа CGI, а заголовок HTTP Authenticate съедается и выплевывается. Поэтому я хотел бы реализовать какую-то аутентификацию на основе FORM. В качестве дополнительного ограничения отсутствует база данных, поэтому данные сеанса не могут быть сохранены.

Я очень открыт для того, чтобы иметь мастер-имя пользователя и пароль. Мне просто нужно защитить приложение от злоумышленника, который не знает эти учетные данные.

Так как бы вы это реализовали?

Печенье?

Я могу представить форму, и если она подтвердится, я могу отправить обратно файл cookie, который является hash из IP адреса и секретного кода. Тогда я могу запретить отображение страниц, если вещь не расшифровывается правильно. Но я понятия не имею, как реализовать это в PHP.

php   http   authentication   cookies   cgi    

407   4   12:14, 24th August, 2020


Получение имени компьютера клиента? (Windows авт)

У меня есть приложение ASP.net, которое работает во внутренней сети (Ну, на самом деле он работает на Sharepoint 2007).

Мне просто интересно:
Могу ли я каким-то образом получить имя PC, которое использует клиент?
У меня будет доступ к Active Directory, если это поможет.
Дело в том, что люди используют несколько PCs, поэтому я не могу использовать ручное/статическое отображение.

Если возможно, я не хочу использовать какой-либо код на стороне клиента (читай: JavaScript), но если это невозможно сделать на стороне сервера, JavaScript также будет OK.
(ActiveX абсолютно исключено)

asp.net   sharepoint   authentication    

391   2   20:59, 3rd August, 2020


Проверка подлинности с помощью форм в приложениях

Я работаю над внутренним веб-инструментом для своей компании. Частью этого инструмента является другое приложение (Панель управления круиз-контролем), которое работает в своем собственном виртуальном каталоге под моим корневым приложением.

Я хотел ограничить доступ к этому внутреннему приложению, настроив аутентификацию форм на нем и имея форму входа в корневое приложение.

Я поместил следующее в корневые приложения web.config:

<location path="ccnet">
  <system.web>
    <authentication mode="Forms">
        <forms loginUrl="/default.aspx" timeout="5000"/>
    </authentication>
    <authorization>
      <allow users="?"/>
      <deny users="?"/>
    </authorization>        
  </system.web>    
</location>

Однако проверка подлинности форм не работает, она не перенаправляется обратно на страницу входа, когда я получаю доступ к этому приложению напрямую.

У меня такое чувство, что у меня есть теги <allow> и <deny>, установленные неправильно. Может кто-нибудь прояснить?

asp.net   authentication   cruisecontrol.net    

604   8   03:03, 18th August, 2020


Для чего использовать Windows CardSpace?

Я делаю какую-то фанковую аутентификацию (и да, я знаю, open-id потрясающий, но опять же мой open-id не работает прямо сейчас!).

Натыкаясь на Windows CardSpace мне было интересно, использовал ли кто-нибудь это в реальной системе продукта. Если вы использовали его, каковы были плюсы и минусы для вас? И как я могу использовать его в моем open-id?

windows   security   authentication    

441   1   04:25, 7th August, 2020


Как использовать проверку подлинности NTLM с Active Directory

Я пытаюсь реализовать аутентификацию NTLM на одном из наших внутренних сайтов,и все работает. Единственный кусочек головоломки, которого у меня нет, - это то, как взять информацию из NTLM и пройти аутентификацию в Active Directory.

Существует хорошее описание NTLM и шифрования, используемого для паролей, которые я использовал для реализации этого, но я не уверен, как проверить, является ли пароль пользователя действительным.

Я использую ColdFusion, но решение этой проблемы может быть на любом языке (Java, Python, PHP и т. д.).

Редактировать:

Я использую ColdFusion на Redhat Enterprise Linux. К сожалению, мы не можем использовать IIS для управления этим и вместо этого должны написать или использовать сторонний инструмент для этого.


Update - я получил эту работу, и вот что я сделал

Я пошел с библиотекой JCIFS из samba.org.

Обратите внимание, что приведенный ниже метод будет работать только с NTLMv1 и не работает с NTLMv2. Если вы не можете использовать NTLMv1, вы можете попробовать Jespa, который поддерживает NTLMv2, но не является открытым исходным кодом, или вы можете использовать Kerberos/SPNEGO.

Вот мой web.xml:

<web-app>
    <display-name>Ntlm</display-name>

    <filter>
        <filter-name>NtlmHttpFilter</filter-name>
        <filter-class>jcifs.http.NtlmHttpFilter</filter-class>

        <init-param>
            <param-name>jcifs.http.domainController</param-name>
            <param-value>dc01.corp.example.com</param-value>
        </init-param>
        <init-param>
            <param-name>jcifs.smb.client.domain</param-name>
            <param-value>CORP.EXAMPLE.COM</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>NtlmHttpFilter</filter-name>
        <url-pattern>/admin/*</url-pattern>
    </filter-mapping>
</web-app>

Теперь все URLs совпадающие /admin/* будут требовать NTLM аутентификации.

http   authentication   coldfusion   active-directory   ntlm    

832   7   13:14, 1st August, 2020


Аутентификация на веб-сайте авторизации форм ASP.Net из консольного приложения

Я пытаюсь создать консольное приложение C#, чтобы автоматизировать захват определенных файлов с нашего сайта, в основном, чтобы сэкономить клики и, честно говоря, просто сделать это. Но я попал в ловушку, для которой я не смог найти рабочего решения.

Веб-сайт, к которому я пытаюсь подключиться, использует авторизацию форм ASP.Net, и я не могу понять, как аутентифицировать себя с ним. Это приложение является полным Хак, так что я могу жесткий код моего имени пользователя и пароля или любой другой необходимой информации auth, и само решение не должно быть что-то, что является достаточно жизнеспособным, чтобы освободить для обычных пользователей. Другими словами, если единственным возможным решением является взлом, я в порядке с этим.

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

c#   asp.net   authentication    

453   2   10:39, 17th August, 2020


Лучшее решение для аутентификации в Ruby на Rails

Я ищу готовое решение, которое можно использовать в моем приложении RoR. В идеале я ищу что-то похожее на проверку подлинности ASP.NET форм, которая обеспечивает проверку email, элементы управления регистрацией и позволяет пользователям сбрасывать свои пароли. Ах да, и легко позволяет мне вытащить пользователя, который в данный момент вошел в приложение.

Я начал просматривать уже написанные фрагменты, но обнаружил, что это действительно сбивает с толку. Я посмотрел на LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, но, похоже, нет ни одного места, где есть отличные учебники или их сравнение. Если есть сайт, который я просто еще не обнаружил, или если есть стандарт де-факто, которым пользуется большинство людей, я был бы признателен за помощь.

ruby-on-rails   ruby   authentication    

476   12   00:04, 6th August, 2020


Почему я не могу подключиться к моему серверу CAS с Perl AuthCAS?

Я пытаюсь использовать существующий сервер CAS для аутентификации входа в веб-скрипт Perl CGI и использую модуль AuthCAS Perl (v 1.3.1). Я могу подключиться к серверу CAS, чтобы получить билет службы, но когда я пытаюсь подключиться, чтобы проверить билет, мой скрипт возвращается со следующей ошибкой из модуля IO::Socket::SSL:

 500 Can't connect to [CAS Server]:443 (Bad hostname '[CAS Server]') 
 ([CAS Server] substituted for real server name)

Symptoms/Tests:

  1. Если я наберу сгенерированный URL для аутентификации в строке местоположения веб-браузера, он вернется просто отлично с ожидаемым фрагментом XML. Так что это не плохое имя хоста.
  2. Если я создаю сценарий без использования модуля AuthCAS, но используя модуль IO::Socket::SSL непосредственно для запроса сервера CAS для проверки созданного билета службы, сценарий Perl будет работать нормально из командной строки, но не в браузере.
  3. Если я добавлю модуль AuthCAS в скрипт в пункте 2, скрипт больше не будет работать в командной строке и по-прежнему не будет работать в браузере.

Вот голые кости скрипт, который производит ошибку:

#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use AuthCAS;
use CGI::Carp qw( fatalsToBrowser );

my $id = $ENV{QUERY_STRING};
my $q = new CGI;
my $target = "http://localhost/cgi-bin/testCAS.cgi";

my $cas = new AuthCAS(casUrl => 'https://cas_server/cas');

if ($id eq ""){
    my $login_url = $cas->getServerLoginURL($target);
    printf "Location: $login_url\n\n";
    exit 0;
} else {
    print $q->header();
    print "CAS TEST<br>\n";

    ## When coming back from the CAS server a ticket is provided in the QUERY_STRING
    print "QUERY_STRING = " . $id . "</br>\n";
    ## $ST should contain the received Service Ticket
    my $ST = $q->param('ticket');
    my $user = $cas->validateST($target, $ST);  #### This is what fails

    printf "Error: %s\n", &AuthCAS::get_errors() unless (defined $user);
}

Есть идеи, где может быть конфликт?


Сообщение об ошибке поступает от линии непосредственно над Cebjyre фрагмент процитировал именно

$ssl_socket = new IO::Socket::SSL(%ssl_options);

а именно: создание сокета. Все входные параметры верны. Я отредактировал модуль, чтобы ввести отладочные операторы и распечатать все параметры непосредственно перед этим вызовом, и все они в порядке. Похоже, мне придется глубже погрузиться в модуль IO::Socket::SSL.

perl   apache   authentication   ssl   cgi    

486   2   11:45, 24th August, 2020


Прокси, который требует аутентификации с помощью эмулятора Android

Удалось ли кому-нибудь заставить эмулятор Android работать за прокси, который требует аутентификации?

Я попытался установить аргумент-http-proxy в значение

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

но у меня ничего не получается.

Я пытался следовать документам, но безрезультатно. Я также пробовал установку -verbose-proxy , но этого больше не существует.

Есть какие-нибудь указания?

android   authentication   proxy    

560   16   19:17, 22nd August, 2020