Nano Hash - криптовалюты, майнинг, программирование

как запускать набор команд, когда пользователь устанавливает фокус в текстовом поле на веб-сайте с помощью C #

У меня есть текстовое поле для имени пользователя и текстовое поле для пароля на веб-странице.

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

    String cookiename = usernameTextBox.Text;

    //grab cookie
    HttpCookie cookie = Request.Cookies[cookiename];

    //exists?
    if (null == cookie)
    {
        Label1.Text = "cookie not found";
    }
    else
    {
        passwordTextBox.Attributes.Add("value", cookie.Value.ToString());
    }

Фокус - единственное, что я нашел, я знаю, что он похож, но, кажется, не могу понять этого.

Благодарность,

16.05.2009


Ответы:


1

Здесь две проблемы:

Во-первых, почему вы храните пароль пользователя в виде обычного текста в файле cookie? Это крайне небезопасно! Это настолько фундаментально небезопасно, что у вас также может не быть паролей. Есть много способов справиться с этим. Вот один простой пример:

Если вы хотите, чтобы сайт «запомнил» пароль пользователя, сгенерируйте уникальный токен (например, GUID) и сохраните GUID вместе с информацией об учетной записи на сервере как «активный сеанс», а также сохраните GUID в файле cookie. Когда пользователь посещает сайт, проверьте, существует ли файл cookie с маркером, и если да, вы можете сопоставить его с информацией для входа в систему на стороне сервера и полностью обойти страницу входа. Есть еще кое-что, что нужно учитывать, но это основная концепция.

Во-вторых, ваш текущий дизайн требует обратного вызова в стиле AJAX. Код, который вы написали на C #, выполняется на сервере, но события фокусировки / размытия происходят на стороне клиента.

С чисто технической точки зрения вам следует написать JavaScript для обработки всего этого процесса. Функция JS может запускать onblur(), а JS может читать файлы cookie точно так же, как .NET:

var usernameBox = document.getElementById('usernameBox');
usernameBox.onblur = handleBlur;

function handleBlur() {
    var passwordBox = document.getElementById('passwordBox');
    passwordBox.value = readCookie(cookieName);
}

function readCookie(cookieName) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return "";
}

(Обратите внимание, что getElementById использует идентификатор клиента, а не идентификатор ASP.NET)

Проблема с вашей безопасностью - гораздо более серьезная проблема. Нет способа исправить то, что вы пытаетесь достичь; это просто принципиально плохая идея.

16.05.2009
  • привет, спасибо за ответ, я работаю над простым прототипом, и мне нужно просто показать процесс. ;) где я должен разместить этот код? извините, я еще не так хорош в программировании !! 16.05.2009
  • Я добавил соответствующий код для присоединения функции handleBlur () к событию размытия текстового поля. 16.05.2009
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..