Как обнаружить серверную сторону, отключены ли куки

Вы можете попробовать использовать

https://github.com/pyscripter/python4delphi

, который является связующим звеном между ними.

Также всегда доступна возможность реализации веб-сервера с python и публикации его сервисов на http для использования в Lazarus.

Однако, обратите внимание, что если вам нужен GUI, то Qt (использующий PyQt или PySide) - это очень полная библиотека GUI с очень хорошей привязкой для Python ... в ней есть все виджеты, которые вы можете себе представить, а затем еще , В этом случае весь код, который вы пишете, написан на Python.

90
задан Rory O'Kane 10 July 2013 в 14:49
поделиться

6 ответов

Отправьте ответ перенаправления с набором cookie; когда обработка (специального) перенаправленного URL тестирует на cookie - если это - там перенаправление к нормальной обработке, иначе перенаправьте к состоянию ошибки.

Примечание, что это может только сказать Вам браузер, разрешило cookie быть установленным, но не как долго. Мой FF позволяет мне вызывать все cookie к режиму "сессии", если сайт не будет конкретно добавлен к списку исключений - такие cookie будут отброшены, когда FF закрывается независимо от указанного истечения сервера. И это - режим, в котором я выполняю FF всегда.

56
ответ дан Lawrence Dol 24 November 2019 в 07:05
поделиться

Вопрос, "включены" ли куки, является слишком булевым. Мой браузер (Opera) имеет установку cookie на сайт. Кроме того, та установка не да/нет. Самая полезная форма на самом деле "только для сессии", игнорируя дату окончания срока действия серверов. При тестировании его непосредственно после установки это будет там. Завтра, это не будет.

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

1
ответ дан MSalters 24 November 2019 в 07:05
поделиться

Попытайтесь сохранить что-то в cookie и затем считать его. Если Вы не получаете то, что Вы ожидаете, то куки, вероятно, отключены.

3
ответ дан Joonas Pulakka 24 November 2019 в 07:05
поделиться

Распространенный способ проверить на поддержку cookie через перенаправление.

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

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

, Если Вы уже следуете за шаблоном Post-Redirect-Get для своей формы входа в систему, тогда эта установка и проверка cookie не добавляют дополнительных запросов - cookie может быть установлен во время существующего перенаправления и проверил место назначения, которое загружается после перенаправления.

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

Другой метод проверки поддержку cookie с JavaScript - этот путь, никакое перенаправление не обязательно необходимо - можно записать cookie и считать его назад фактически сразу, чтобы видеть, был ли он сохранен и затем получен. Оборотная сторона к этому, она работает в сценарии на сторона клиента - т.е. если Вы все еще хотите сообщение о том, поддерживаются ли cookie для возвращения к серверу, тогда все еще необходимо организовать это - такой как с вызовом Ajax.

Для моего собственного приложения, я реализую некоторую защиту для 'Входа в систему CSRF' нападения, вариант нападений на CSRF, путем установки cookie, содержащего случайный маркер на экране входа в систему, прежде чем пользователь войдет в систему, и проверяя, что маркер, когда пользователь отправляет их данные для входа в систему. Считайте больше о Входе в систему CSRF от Google. Побочный эффект этого состоит в том, что момент, они действительно входят в систему, я могу проверить на существование того cookie - дополнительное перенаправление не необходимо.

16
ответ дан thomasrutter 24 November 2019 в 07:05
поделиться

Я не думаю, что существуют прямые способы проверить. Лучший способ состоит в том, чтобы сохранить значение в cookie и попытке считать их и решить, включены ли куки или нет.

18
ответ дан Brad Larson 24 November 2019 в 07:05
поделиться

Можно использовать JavaScript для выполнения этого

Библиотека:

function createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    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 null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function areCookiesEnabled() {
    var r = false;
    createCookie("testing", "Hello", 1);
    if (readCookie("testing") != null) {
        r = true;
        eraseCookie("testing");
    }
    return r;
}

Код для выполнения:

alert(areCookiesEnabled());

Помнят

, Это только работает, если JavaScript включен!

44
ответ дан pinki 24 November 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: