Сервер не позволяет длинные параметры GET - PullRequest
0 голосов
/ 13 марта 2012

У меня проблема с плагином TinyMCE, использующим длинные параметры GET. На моем сервере разработки плагин работает просто отлично. Однако на рабочем сервере этот параметр игнорируется.

Плагин SMImage, он использует такие параметры:

40a6ff4a9832c3e3f8e2fed4d50dc8c6cc42409476b487da936f60cf315f57ccc39c7629d4146097ade572cdf409083257eb2d6edbff7b46556efafd07d4802521d17e14d1021baeac712f8ee83be1f768f14f849e58edb37c8fcd9a8e61e5235a1bb885b0dd1c5b85a2642f22fba99d304a6f988795e1c2b088b8f80e7acc69bc0cea7f763320a6611bd24bc924e0e1bda887990f560cbbd9e1608545fd69859a1808286a263d4754b8b1f6a713c9bdaaa015649b92db2701b005bd91e6827ff4bde6b48bcb0e5ca509f568684c51a803dbc7f896cdfdbcd0cfafc202e20d68f45cdfe86b033f36ff05a0f52cc6381231682d20d3038fc4fe7aba0916c614e89ff2b64c6b6bae0b548f

Это довольно долго, но не должно быть большой проблемой (кроме, конечно, IE).

На рабочем сервере $ _GET ['get'] даже не определено, так как оно игнорируется PHP.

Возможно ли изменить настройки сервера? Под PHP, что определяет максимальную длину?

Я мог бы вместо этого использовать POST, но я не слишком уверен, как я мог бы изменить эту часть плагина:

    var get = 'id=1' + '&dir_root=' + ed.getParam('plugin_smimage_directory', '') + '&server=' + ed.getParam('plugin_smimage_server', '') + '&thumbnail_size=' + ed.getParam('plugin_smimage_thumbnail_size', '') + '&show_thumbnail=' + ed.getParam('plugin_smimage_show_thumbnail', '') + '&jpg_quality=' + ed.getParam('plugin_smimage_jpg_quality', '') + '&orderby=' + ed.getParam('plugin_smimage_orderby', '') + '&show_upload=' + ed.getParam('plugin_smimage_show_upload', '') + '&show_image_menu=' + ed.getParam('plugin_smimage_show_image_menu', '') + '&show_folder_menu=' + ed.getParam('plugin_smimage_show_folder_menu', '') + '&show_newfolder=' + ed.getParam('plugin_smimage_show_newfolder', '') + '&thumbnails_perpage=' + ed.getParam('plugin_smimage_thumbnails_perpage', '') + '&upload_filesize=' + ed.getParam('plugin_smimage_upload_filesize', '') + '&check_session_variable=' + ed.getParam('plugin_smimage_check_session_variable', '') + '&document_root=' + ed.getParam('plugin_smimage_document_root', '');
    ed.windowManager.open({
      file: url + '/index.php?get=' + SMImage_BinToHex(SMImage_RC4(get)),
      width: ed.getParam('plugin_smimage_width', '800'),
      height: ed.getParam('plugin_smimage_height', '500'),
      inline: 1
    },
    {
      plugin_url: url
    })

1 Ответ

0 голосов
/ 13 марта 2012

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

document.cookie = 'SMImage_param=' + SMImage_BinToHex(SMImage_RC4(get))

и затем вызовите index.php без параметров.На стороне сервера используйте

$_COOKIE['SMImage_param']

для получения значения этого параметра.

Конечно, это будет работать, только если PHP, который вы вызываете, находится в одном домене (но я почти уверен,что для вашего плагина TinyMCE он есть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...