Как отключить сеансовые куки PHP?

Одним из решений, которое я нашел, было создание просто дополнительного слушателя, который ищет определенный метод, такой как («init» или «start»), и просто вызывает его после создания и внедрения членов.

См. В конфигурации модуля:

@Override
protected void configure() {
    bindListener(Matchers.any(), new InitMethodTypeListener());
    //...

InitMethodTypeListener:

public class InitMethodTypeListener implements TypeListener {

    private static final Logger log = LoggerFactory.getLogger(InitMethodTypeListener.class);

    @SuppressWarnings("rawtypes")
    static class InitInvoker implements InjectionListener {
        @Override
        public void afterInjection(final Object injectee) {
            try {
                log.info("Invoke init() from Class: {}", injectee.getClass().getName());
                injectee.getClass().getMethod("init").invoke(injectee);
            } catch (final Exception e) {
                log.error(e.getMessage(), e);
            }
        }

        public static final InitInvoker INSTANCE = new InitInvoker();
    }

    @SuppressWarnings("unchecked")
    @Override
    public <I> void hear(final TypeLiteral<I> type, final TypeEncounter<I> encounter) {

        try {
            if (type.getRawType().getMethod("init") != null) {
                encounter.register(InitInvoker.INSTANCE);
            }
        } catch (final NoSuchMethodException | SecurityException e) {
            // do nothing here, if not init-method found - no call
        }
    }
}

Возможно, это не прямой путь, но он работает. И поэтому я уверен, что все члены вводятся правильно, когда вызывается метод init.

В этой реализации все объекты, находящиеся под контролем, управляют своим «init» -методом, который будет вызываться автоматически после создания и внедрения объекта.

9
задан ypnos 27 October 2008 в 23:47
поделиться

5 ответов

допустите ошибку его возможное для переопределения настроек по умолчанию хоста путем создания собственного .htaccess файла, и вот большое учебное руководство, если Вы еще не коснулись этого http://www.askapache.com/htaccess/apache-htaccess.html

или если Вы слишком ленивы для изучения, просто создают ".htaccess" файл (да, это - имя файла) на каталоге сайтов, и поместите следующий код

SetEnv session.use_cookies='0';
7
ответ дан 4 December 2019 в 06:14
поделиться

Используйте ini_set ():

ini_set('session.use_cookies', '0');

Или в Вашем файле php.ini:

session.use_cookies = 0
32
ответ дан 4 December 2019 в 06:14
поделиться

Можно также поместить ту установку в .htaccess, таким образом, это относится ко всем сценариям, иначе необходимо удостовериться, что код называют по каждому запросу.

Например.

сессия use_cookies php_value 0

2
ответ дан 4 December 2019 в 06:14
поделиться

Если просто необходимо смочь убить сессию в установленный срок, используйте session_destroy (). Если Вы хотите полностью закончить сессию, вот отрывок, копируют/вставляют прямо из документации:

// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

// Finally, destroy the session.
session_destroy();
2
ответ дан 4 December 2019 в 06:14
поделиться

Способ сделать это состоит в том, чтобы установить сессии самостоятельно.

В центральном включают файл, который все Ваши другие файлы включают (у Вас действительно есть один из тех, правильно?), необходимо сделать, несколько вещей уже практичны.

if( !array_key_exists('sessionid', $_POST) ) {
    // recreate the sessionid
    $sessionid = md5(rand().' '.microtime()); // Or something
} else {
    $sessionid = $_POST['sessionid'];

session_id($sessionid);
session_start();

Теперь необходимо помнить, что, как только Вы запускаете форму, необходимо включать:

<input type='hidden' name='sessionid'><?= session_id() ?></input>
-2
ответ дан 4 December 2019 в 06:14
поделиться
Другие вопросы по тегам:

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