2012-03-12 4 views
0

긴 GET 매개 변수를 사용하는 TinyMCE 플러그인에 문제가 있습니다. 내 개발 서버에서, 플러그인 잘 작동합니다. 그러나 프로덕션 서버에서는 매개 변수가 무시됩니다.서버가 긴 GET 매개 변수를 허용하지 않습니다.

플러그인은이 같은 매개 변수를 사용, SMImage입니다 :

좀 긴하지만 (물론 IE를 제외하고) 많은 문제이어야한다
40a6ff4a9832c3e3f8e2fed4d50dc8c6cc42409476b487da936f60cf315f57ccc39c7629d4146097ade572cdf409083257eb2d6edbff7b46556efafd07d4802521d17e14d1021baeac712f8ee83be1f768f14f849e58edb37c8fcd9a8e61e5235a1bb885b0dd1c5b85a2642f22fba99d304a6f988795e1c2b088b8f80e7acc69bc0cea7f763320a6611bd24bc924e0e1bda887990f560cbbd9e1608545fd69859a1808286a263d4754b8b1f6a713c9bdaaa015649b92db2701b005bd91e6827ff4bde6b48bcb0e5ca509f568684c51a803dbc7f896cdfdbcd0cfafc202e20d68f45cdfe86b033f36ff05a0f52cc6381231682d20d3038fc4fe7aba0916c614e89ff2b64c6b6bae0b548f 

. 이 PHP에 의해 무시 이후 프로덕션 서버에서

, $ _GET은 [ '수']도, 정의되어 있지 않습니다.

아마 변경할 수있는 서버 설정이 있습니까? 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

가능한 복제본 : http://stackoverflow.com/questions/7724270/max-size-of-url-parameters-in-get –

+0

Suhosin이 실제로 설치되었으며, 약간의 수정으로 맞춤 php.ini를 만들었습니다. 잘 작동했습니다. – jValdron

답변

0

확실하지 않음이 좋습니다,하지만 당신은 해결 방법으로 쿠키를 사용하려고 할 수 있다면 그 종류의 매개 변수를 전달합니다. JS에서 열린이 창을 호출하기 전에,

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

처럼 매끄러운 않는 다음 매개 변수없이 index.php를 호출합니다. 서버 측에서는이 매개 변수 값을 얻기 위해

$_COOKIE['SMImage_param'] 

을 사용하십시오. 물론

, 당신이 호출 PHP가 같은 도메인에있는 (하지만 난 당신의 TinyMCE에 위해 거기에 플러그인 것을 거의 확신) 경우에만 작동합니다.

+0

물론 서버 구성에 액세스 할 수 있으면 대신 http://stackoverflow.com/questions/7724270/max-size-of-url-parameters-ingetget에 설명 된대로 구성해야합니다. . – RReverser

+0

예. Suhosin이 설치되었습니다. 그냥 php.ini를 만들었습니다;) 시간을내어 답변 해 주셔서 감사합니다. :) – jValdron

+0

이제 추한 해킹입니다 ... – ThiefMaster

관련 문제