+ /**
+ * Check suhosin.request.max_varname_length
+ *
+ * @return Status\StatusInterface
+ */
+ protected function checkSuhosinRequestMaxVarnameLength() {
+ $recommendedRequestMaxVarnameLength = 200;
+ if ($this->isSuhosinLoaded()) {
+ $currentRequestMaxVarnameLength = ini_get('suhosin.request.max_varname_length');
+ if ($currentRequestMaxVarnameLength < $recommendedRequestMaxVarnameLength) {
+ $status = new Status\ErrorStatus();
+ $status->setTitle('PHP suhosin.request.max_varname_length too low');
+ $status->setMessage(
+ 'suhosin.request.max_varname_length=' . $currentRequestMaxVarnameLength . LF .
+ 'This setting can lead to lost information if submitting forms with lots of data in TYPO3 CMS' .
+ ' (as the install tool does). It is highly recommended to raise this' .
+ ' to at least ' . $recommendedRequestMaxVarnameLength . ':' . LF .
+ 'suhosin.request.max_varname_length=' . $recommendedRequestMaxVarnameLength
+ );
+ } else {
+ $status = new Status\OkStatus();
+ $status->setTitle('PHP suhosin.request.max_varname_length ok');
+ }
+ } else {
+ $status = new Status\InfoStatus();
+ $status->setTitle('Suhosin not loaded');
+ $status->setMessage(
+ 'If enabling suhosin, suhosin.request.max_varname_length' .
+ ' should be set to at least ' . $recommendedRequestMaxVarnameLength . ':' . LF .
+ 'suhosin.request.max_varname_length=' . $recommendedRequestMaxVarnameLength
+ );
+ }
+ return $status;
+ }
+
+ /**
+ * Check suhosin.post.max_name_length
+ *
+ * @return Status\StatusInterface
+ */
+ protected function checkSuhosinPostMaxNameLength() {
+ $recommendedPostMaxNameLength = 200;
+ if ($this->isSuhosinLoaded()) {
+ $currentPostMaxNameLength = ini_get('suhosin.post.max_name_length');
+ if ($currentPostMaxNameLength < $recommendedPostMaxNameLength) {
+ $status = new Status\ErrorStatus();
+ $status->setTitle('PHP suhosin.post.max_name_length too low');
+ $status->setMessage(
+ 'suhosin.post.max_name_length=' . $currentPostMaxNameLength . LF .
+ 'This setting can lead to lost information if submitting forms with lots of data in TYPO3 CMS' .
+ ' (as the install tool does). It is highly recommended to raise this' .
+ ' to at least ' . $recommendedPostMaxNameLength . ':' . LF .
+ 'suhosin.post.max_name_length=' . $recommendedPostMaxNameLength
+ );
+ } else {
+ $status = new Status\OkStatus();
+ $status->setTitle('PHP suhosin.post.max_name_length ok');
+ }
+ } else {
+ $status = new Status\InfoStatus();
+ $status->setTitle('Suhosin not loaded');
+ $status->setMessage(
+ 'If enabling suhosin, suhosin.post.max_name_length' .
+ ' should be set to at least ' . $recommendedPostMaxNameLength . ':' . LF .
+ 'suhosin.post.max_name_length=' . $recommendedPostMaxNameLength
+ );
+ }
+ return $status;
+ }
+