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

Вы не пытаетесь реализовать безопасный с точки зрения типов hetereogeneous контейнерный шаблон Joshua Bloch, Вы? В основном:

public class Favorites {
  private Map, Object> favorites =
    new HashMap, Object>();

  public  void setFavorite(Class klass, T thing) {
    favorites.put(klass, thing);
  }

  public  T getFavorite(Class klass) {
    return klass.cast(favorites.get(klass));
  }

  public static void main(String[] args) {
    Favorites f = new Favorites();
    f.setFavorite(String.class, "Java");
    f.setFavorite(Integer.class, 0xcafebabe);
    String s = f.getFavorite(String.class);
    int i = f.getFavorite(Integer.class);
  }
}

От Эффективный Java (2-й выпуск) и это представление .

27
задан Hailwood 22 March 2011 в 00:54
поделиться

2 ответа

снова ohai https://www.codeigniter.com/user_guide/libraries/encryption.html : D

Причина, по которой они запрашивают ключ шифрования, - безопасность (очевидно)

Примечание. Даже если вы не используете зашифрованные сеансы, вы должны установить ключ шифрования в файле конфигурации, который используется для предотвращения манипулирования данными сеанса. - источник: https://www.codeigniter.com/user_guide/libraries/sessions.html

Это изменение не нарушит ваш код. Но будьте осторожны при обновлении с 1.7.2 до 2.0.1. Я предлагаю вам сделать резервную копию вашего кода:)

Кстати, они добавили это улучшение безопасности с версией CI 2.0.0. Я не знаю, почему они не упоминают об этом в своем руководстве по обновлению: (

24
ответ дан 28 November 2019 в 05:15
поделиться

./ application / config / config.php



Ключ шифрования
------------ ---------

Если вы используете класс шифрования или класс сеанса, вы ДОЛЖНЫ установить ключ шифрования. См. Руководство пользователя для информации.

$config['encryption_key'] = '02527-269-2503946-70386-34730519'; 
3
ответ дан 28 November 2019 в 05:15
поделиться
Другие вопросы по тегам:

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