Вы не пытаетесь реализовать безопасный с точки зрения типов 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); } }
снова 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. Я не знаю, почему они не упоминают об этом в своем руководстве по обновлению: (
./ application / config / config.php
Ключ шифрования
------------ ---------
Если вы используете класс шифрования или класс сеанса, вы ДОЛЖНЫ установить ключ шифрования. См. Руководство пользователя для информации.
$config['encryption_key'] = '02527-269-2503946-70386-34730519';