36 'adminUserAccount' => $this->getAdminAccountStatus(),
42 'saltedpasswords' => $this->getSaltedPasswordsStatus(),
52 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
55 if (empty(
$GLOBALS[
'TYPO3_CONF_VARS'][
'FE'][
'cHashIncludePageId'])) {
56 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
58 $message =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.install_cache_flooding');
68 protected function getAdminAccountStatus() {
69 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
73 $res =
$GLOBALS[
'TYPO3_DB']->exec_SELECTquery(
'uid, username, password',
'be_users', $whereClause);
74 if ($row =
$GLOBALS[
'TYPO3_DB']->sql_fetch_assoc($res)) {
78 if (is_object($saltingObject)) {
79 if ($saltingObject->checkPassword(
'password', $row[
'password'])) {
84 if ($row[
'password'] ===
'5f4dcc3b5aa765d61d8327deb882cf99') {
88 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
90 $editUserAccountUrl =
'alt_doc.php?returnUrl=' . rawurlencode(
BackendUtility::getModuleUrl(
'system_ReportsTxreportsm1')) .
'&edit[be_users][' . $row[
'uid'] .
']=edit';
91 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.backend_admin'),
'<a href="' . htmlspecialchars($editUserAccountUrl) .
'">',
'</a>');
94 $GLOBALS[
'TYPO3_DB']->sql_free_result($res);
104 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
107 if (empty(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'encryptionKey'])) {
108 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
110 $url =
'install/index.php?redirect_url=index.php' . urlencode(
'?TYPO3_INSTALL[type]=config#set_encryptionKey');
111 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.install_encryption'),
'<a href="' . $url .
'">',
'</a>');
122 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
127 $result = array_intersect($defaultParts, $givenParts);
128 if ($defaultParts !==
$result) {
129 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
131 $url =
'install/index.php?redirect_url=index.php' . urlencode(
'?TYPO3_INSTALL[type]=config#set_encryptionKey');
132 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.file_deny_pattern_partsNotPresent'),
'<br /><pre>' . htmlspecialchars(FILE_DENY_PATTERN_DEFAULT) .
'</pre><br />');
144 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
148 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
150 $message =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.file_deny_htaccess');
161 $memcachedUsed = FALSE;
162 $memcachedServers = $this->getConfiguredMemcachedServers();
163 if (count($memcachedServers)) {
164 $memcachedUsed = TRUE;
166 return $memcachedUsed;
177 case 'remove_ENABLE_INSTALL_TOOL':
191 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
194 $validPassword = TRUE;
195 $installToolPassword =
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'installToolPassword'];
197 if (is_object($saltFactory)) {
198 $validPassword = !$saltFactory->checkPassword(
'joh316', $installToolPassword);
199 } elseif ($installToolPassword === md5(
'joh316')) {
200 $validPassword = FALSE;
202 if (!$validPassword) {
203 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
206 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.installtool_default_password'),
'<a href="' . htmlspecialchars($changeInstallToolPasswordUrl) .
'">',
'</a>');
216 protected function getSaltedPasswordsStatus() {
217 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
222 $message =
'<p>' .
$GLOBALS[
'LANG']->getLL(
'status_saltedPasswords_infoText') .
'</p>';
224 $flashMessage = $configCheck->checkConfigurationBackend(array(),
new \
TYPO3\CMS\Core\TypoScript\ConfigurationForm());
225 if (strpos($flashMessage,
'message-error') !== FALSE) {
226 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
228 $messageDetail .= $flashMessage;
230 if (strpos($flashMessage,
'message-warning') !== FALSE) {
232 $messageDetail .= $flashMessage;
234 if (strpos($flashMessage,
'message-information') !== FALSE) {
235 $messageDetail .= $flashMessage;
238 if ($unsecureUserCount > 0) {
239 $value =
$GLOBALS[
'LANG']->getLL(
'status_insecure');
241 $messageDetail .=
'<div class="typo3-message message-warning">' .
$GLOBALS[
'LANG']->getLL(
'status_saltedPasswords_notAllPasswordsHashed') .
'</div>';
243 $message .= $messageDetail;
244 if (empty($messageDetail)) {
257 $value =
$GLOBALS[
'LANG']->getLL(
'status_disabled');
264 $value =
$GLOBALS[
'LANG']->getLL(
'status_enabledPermanently');
265 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.install_enabled'),
266 '<span style="white-space: nowrap;">' . $enableInstallToolFile .
'</span>');
267 $message .=
' <a href="' . htmlspecialchars($disableInstallToolUrl) .
'">' .
268 $GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.install_enabled_cmd') .
'</a>';
275 $value =
$GLOBALS[
'LANG']->getLL(
'status_enabledTemporarily');
276 $message = sprintf(
$GLOBALS[
'LANG']->getLL(
'status_installEnabledTemporarily'),
278 $message .=
' <a href="' . htmlspecialchars($disableInstallToolUrl) .
'">' .
279 $GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.install_enabled_cmd') .
'</a>';
const INSTALL_TOOL_ENABLE_FILE_LIFETIME
static getNumberOfBackendUsersWithInsecurePassword()
static isInstallToolEnableFilePermanent()
static removeInstallToolEnableFile()
getHtaccessUploadStatus()
static installToolEnableFileLifetimeExpired()
static getSaltingInstance($saltedHash='', $mode=TYPO3_MODE)
static getIndpEnv($getEnvName)
const INSTALL_TOOL_ENABLE_FILE_PATH
static makeInstance($className)
static installToolEnableFileExists()
getFileDenyPatternStatus()
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
static verifyFilenameAgainstDenyPattern($filename)
getCacheFloodingProtectionStatus()
static getModuleUrl($moduleName, $urlParameters=array(), $backPathOverride=FALSE, $returnAbsoluteUrl=FALSE)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
getInstallToolProtectionStatus()
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
getInstallToolPasswordStatus()
static deleteClause($table, $tableAlias='')