2013-08-21 2 views
1

Я использую проблему codeigniter2.1.4.my, когда я используюшифрования идентификатор в Codeigniter, не допускается URL в CodeIgniter

$ this-> encrypt-> закодировать ($ строки [ 'service_id'])

на моей странице просмотра, он генерирует такой ключ, который не разрешен URL и я также хочу короткого ключа шифрует bcoz текущий ключ шифрования слишком big.Any решения? Спасибо

+0

пожалуйста, объясните подробно –

+0

, что вы пытаясь достичь? – jcorry

+0

Представьте себе, я использую $ this-> encrypt-> закодировать ($ строки [ 'service_id'], '1234') в целях page.It генерирует MyAccount/обновление/MwPwZv4cat9l9QLCcByGQgkCkinolrpXA2qbp2aDABBx9qHxEZvctaXUq8fYl5fXUDqwXgzhCmLJF4QrSqQOHA ==, Then «URI, который Вы представили, запрещенные символы 'error coming. Если i chnage $ config [' allowed_uri_chars '], то он подходит правильно. Любое альтернативное решение? например, с помощью корзины библиотеки – user1987095

ответ

1

простым решением было бы отправьте зашифрованный ключ в качестве параметра POST вместо параметра GET. В случае, если вы не хотите этого делать, ознакомьтесь с

$config['permitted_uri_chars'] 

в application/config/config.php. Добавьте символы, которые вы хотите отправить по URL. Запомнить. ЭТО БЕЗОПАСНЫЙ КОМПРОМИСС.

Вы всегда можете переключиться на другой алгоритм шифрования с использованием

$this->encrypt->set_cipher(); 

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

Проверка и попытаться понять системы/библиотеки/session.php, особенно вокруг линии

$cookie_data = $this->CI->encrypt->encode($cookie_data); 

Если вы заинтересованы в поиске ответа на «ПОЧЕМУ»

+0

Tejas Я думаю, что лучше использовать POST для передачи id без использования функции шифрования. Тогда как будет мой url мой текущий url мой учет/update/1 – user1987095

+0

Предполагая, что вы используете jQuery ajax, '$ .ajax ({ URL: 'MyAccount/обновление', тип: 'POST', данные: { 'ID' => 1}, успех: функция (данные) { } }); ' И в вашем controller - myaccount, 'public function update() { $ id = $ this-> input-> post ('id'); } ' Это даст вам идентификатор, отправляемый переменной $ id. – nightgaunt

Смежные вопросы