Magentoverを実行しています。Ubuntu EC2インスタンスでは1.6.2.0ですが、私のフォームは、デコードされていないbase64でエンコードされたphpファイルとして返されます。MagentoまたはPHP全般でbase64デコードをオンにすることについて何かアイデアはありますか?
お問い合わせフォームをご用意しておりますので、ご記入の上、送信をクリックしてください。このフォームには、インストールしたMagentoテーマ(ThemeforestのCrispAndClean)が付属しています。ただし、[送信]をクリックすると、フォームが送信される代わりに、空白のページに戻ります。[ソースの表示]をクリックすると、base64でエンコードされたPHPが表示されます。
次のサイトを使用してデコードできます: http ://www.tareeinternet.com/scripts/decrypt.php
結果は次のとおりです。
?> http://www.facebook.com/rebimol * * * @author Vladimir Popov * @copyright Copyright(c)2011 Vladimir Popov * @license http://opensource.org/licenses/osl-3.0.php Open Softwareライセンス(OSL 3.0)* / class VladimirPopov_WebForms_Block_Webforms extends Mage_Core_Block_Template {protected function _toHtml(){if((float)substr(Mage :: getVersion()、0,3)<= 1.3){if($ this-> getTemplate() =='webforms / default.phtml' && $ this-> getData('nolegacy')!= '0'){$ this-> setTemplate('webforms / legacy.phtml'); }} $ note = "Powered by WebForms
結果'))== 1)$ this-> getResults(); if($ webform-> getSurvey()){$ collection = Mage :: getModel('webforms / results')-> getCollection(); if(Mage :: helper('customer')-> isLoggedIn())$ collection-> addFilter('webform_id'、$ data ['webform_id'])-> addFilter('customer_id'、Mage :: getSingleton('customer / session')-> getCustomerId()); else {$ session_validator = Mage :: getSingleton('customer / session')-> getData('_ session_validator_data'); $ collection-> addFilter('customer_ip'、ip2long($ session_validator ['remote_addr'])); } $ count = $ collection-> count(); if($ count> 0){$ show_success = true; }} if(Mage :: getSingleton('core / session')-> getWebformsSuccess()== $ data ['webform_id'] || $ show_success){Mage :: register('show_success'、true); Mage :: getSingleton('core / session')-> setWebformsSuccess(); } if($ webform-> getRegisteredOnly()&&!Mage :: helper('customer')-> isLoggedIn()){Mage :: getSingleton('customer / session')-> setBeforeAuthUrl($ this-> getRequest() -> getRequestUri()); Mage :: app()-> getFrontController()-> getResponse()-> setRedirect(Mage :: helper('customer')-> getLoginUrl()、301); } Mage :: register('fields_to_fieldsets'、$ webform-> getFieldsToFieldsets()); //キャプチャを使用if(!Mage :: helper('customer')-> isLoggedIn()){$ pubKey = Mage :: getStoreConfig('webforms / captcha / public_key'); $ privKey = Mage :: getStoreConfig('webforms / captcha / private_key'); if($ this-> captchaAvailable())Mage :: register('use_captcha'、true); } //結果を処理するif($ this-> getRequest()-> getParam('submitWebform_'。$data ['webform_id'])){//キャプチャを検証するif(Mage :: registerry('use_captcha')){ if($ this-> getRequest()-> getParam('recaptcha_response_field')){$ verify = $ this-> getCaptcha()-> verify($ this-> getRequest()-> getParam('recaptcha_challenge_field')、$ this-> getRequest()-> getParam('recaptcha_response_field')); if($ verify-> isValid()){$ success = $ this-> saveResult(); } else {Mage :: getSingleton('core / session')-> addError($ this-> __('検証コードが正しくありませんでした。もう一度やり直してください。')); Mage :: register('captcha_invalid'、true); }} else {Mage :: getSingleton('core / session')-> addError($ this-> __('検証コードが正しくありませんでした。もう一度やり直してください。')); Mage :: register('captcha_invalid'、true); }} else {$ success = $ this-> saveResult(); } if($ success){Mage :: getSingleton('core / session')-> setWebformsSuccess($ data ['webform_id']); }//送信が成功した後にリダイレクト$url= Mage :: helper('core / url')-> getCurrentUrl(); if($ webform-> getRedirectUrl()){if(strstr($ webform-> getRedirectUrl()、'://'))$ url = $ webform-> getRedirectUrl(); else $ url = $ this-> getUrl($ webform-> getRedirectUrl()); } if($ success)Mage :: app()-> getFrontController()-> getResponse()-> setRedirect($ url); } parent :: _ prepareLayout(); $ this-> getLayout()-> getBlock('head')-> setTitle(Mage :: registerry('webform')-> getName()); } public function captchaAvailable(){if(class_exists('Zend_Service_ReCaptcha')&& Mage :: getStoreConfig( ' webforms / captcha / public_key')&& Mage :: getStoreConfig(' webforms / captcha / private_key'))trueを返します; falseを返します。} public function getCaptcha(){$ pubKey = Mage :: getStoreConfig('webforms / captcha / public_key'); $ privKey = Mage :: getStoreConfig('webforms / captcha / private_key'); if($ pubKey && $ privKey)$ recaptcha = new Zend_Service_ReCaptcha($ pubKey、$ privKey); $recaptchaを返します。} public function saveResult(){if(!Mage :: registerry('webform'))はfalseを返します; try {$ postData = $ this-> getRequest()-> getPost(); $ result = Mage :: getModel('webforms / results'); $ session_validator = Mage :: getSingleton('customer / session')-> getData('_ session_validator_data'); $ iplong = ip2long($ session_validator ['remote_addr']); if((float)substr(Mage :: getVersion()、0,3)<= 1){$ iplong = ip2long($ this-> getRealIp()); } $ result-> setData($ postData)-> setWebformId(Mage :: registerry('webform')-> getId())-> setStoreId(Mage :: app()-> getStore()-> getId()) -> setCustomerId(Mage :: getSingleton('customer / session')-> getCustomerId())-> setCustomerIp($ iplong)-> save(); Mage :: dispatchEvent('webforms_result_submit'、array('result' => $ result、'webform' => Mage :: registerry('webform'))); $ emailSettings = Mage :: registerry('webform')-> getEmailSettings(); if($ emailSettings ['email_enable']){$ result = Mage :: getModel('webforms / results')-> load($ result-> getId()); $ result-> sendEmail(); if(Mage :: registerry('webform')-> getDuplicateEmail()){$ result-> sendEmail('customer'); }}trueを返します。} catch(Exception $ e){Mage :: getSingleton('core / session')-> addError($ e-> getMessage()); falseを返します。}} public function getRealIp(){$ ip = false; if(!empty($ _ SERVER ['HTTP_CLIENT_IP'])){$ ip = $ _SERVER ['HTTP_CLIENT_IP']; } if(!empty($ _ SERVER ['HTTP_X_FORWARDED_FOR'])){$ ips = explode( "、"、$ _SERVER [' HTTP_X_FORWARDED_FOR']); if($ ip){array_unshift($ ips、$ ip); $ ip = false; } for($ i = 0; $ i <count($ ips); $ i ++){if(!preg_match( "/ ^(10 | 172 \ .16 | 192 \ .168)\。/ i"、$ ips [$ i])){if(version_compare(phpversion()、 "5.0.0"、 "> =")){if(ip2long($ ips [$ i])!= false){$ ip = $ ips [ $ i]; 壊す; }} else {if(ip2long($ ips [$ i])!= --1){$ ip = $ ips [$ i]; 壊す; }}}}} return($ ip?$ ip:$ _ SERVER ['REMOTE_ADDR']); } public function getResults(){$ data = $ this-> getData(); $ webform = Mage :: registerry('webform'); //結果を取得$page_size= $ data ["page_size"]; $ current_page =(int)$ this-> getRequest()-> getParam('p'); if(!$ current_page)$ current_page = 1; $ from = $ current_page * $ page_size; $ results = Mage :: getModel('webforms / results')-> getCollection()-> addFilter('webform_id'、$ webform-> getId())-> addFilter('承認済み'、1)-> setPageSize($ page_size)-> setCurPage($ current_page); $ results-> getSelect()-> order('created_time desc'); $ last_page = $ results-> getLastPageNumber(); $ page_url = $ this-> getUrl(Mage :: getSingleton('cms / page')-> getData('identifier')); echo get_class($ page_url); if($ current_page1){$ next_url = $page_url。"?p ="。($ current_page-1); } Mage :: register('prev_url'、$ prev_url); Mage :: register('next_url'、$ next_url); Mage :: register('current_page'、$ current_page); Mage :: register('results'、$ results); }保護された関数_afterToHtml($ html){Mage :: unregister('webform'); Mage :: unregister('fields_to_fieldsets'); Mage :: unregister('prev_url'); Mage :: unregister('next_url'); メイジ:: unregister('current_page'); Mage :: unregister('results'); Mage :: unregister('redirect_url'); Mage :: unregister('use_captcha'); Mage :: unregister('captcha_invalid'); 親を返す::_afterToHtml($ html); }}?>