1.1, Аноним (-), 13:55, 19/02/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В патче только:
- if (parent::authUser($userRecord)) {
+ if (is_bool($checkResult = parent::authUser($userRecord)) && $checkResult) {
- if (!empty($this->login['uident_text'])) {
+ if ((string)$this->login['uident_text'] !== '') {
- if ($this->login['uident'] && $this->login['uname']) {
+ if ((string)$this->login['uident'] !== '' && $this->login['uname']) {
не понял, в чём подвох? чем проверка через empty плоха?
| |
|
|
3.7, Аноним (-), 14:21, 19/02/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
в "if ($this->login['uident'] &&..." тоже на ноль в $this->login['uident'] сработает. Через $this->login['uident'] передаётся введённый пароль. Проблема заявлена только в rsaauth, но при проверке обычных паролей логика та же - сперва выставляют флаг успешной аутентификации и только потом проверяют пароль и сбрасывают этот флаг.
diff --git a/typo3/sysext/saltedpasswords/sv1/class.tx_saltedpasswords_sv1.php b/typo3/sysext/saltedpasswords/sv1/class.tx_saltedpasswords_sv1.php
index 7137664..4e05126 100644
--- a/typo3/sysext/saltedpasswords/sv1/class.tx_saltedpasswords_sv1.php
+++ b/typo3/sysext/saltedpasswords/sv1/class.tx_saltedpasswords_sv1.php
@@ -237,7 +237,7 @@ class tx_saltedpasswords_sv1 extends tx_sv_authbase {
}
if ($this->login['uident'] && $this->login['uname']) {
- if (!empty($this->login['uident_text'])) {
+ if ((string)$this->login['uident_text'] !== '') {
$validPasswd = $this->compareUident(
$user,
$this->login
diff --git a/typo3/sysext/sv/class.tx_sv_auth.php b/typo3/sysext/sv/class.tx_sv_auth.php
index f974cdc..8f026ec 100644
--- a/typo3/sysext/sv/class.tx_sv_auth.php
+++ b/typo3/sysext/sv/class.tx_sv_auth.php
@@ -125,7 +125,7 @@ class tx_sv_auth extends tx_sv_authbase {
public function authUser(array $user) {
$OK = 100;
- if ($this->login['uident'] && $this->login['uname']) {
+ if ((string)$this->login['uident'] !== '' && $this->login['uname']) {
// Checking password match for user:
$OK = $this->compareUident($user, $this->login);
| |
|
|
1.8, Michael Shigorin (ok), 14:21, 19/02/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Проблема проявляется только при аутентификации по ключам RSA,
> обеспечиваемой компонентом rsaauth.
...для felogin (возможность редактирования сайта "с лица" при осуществлении входа в административную часть), который тоже отключен по умолчанию. Но всё равно неприятно.
| |
|
2.13, Аноним (-), 16:27, 19/02/2015 [^] [^^] [^^^] [ответить]
| +/– |
Лажа вроде чисто алгоритмическая. Какая разница на чем она будет сделана? Хоть на брейнфаке.
Там скорее "опять TYPO3?!". В смысле это типа, типо по жизни имело очень таксебешный уровень безопасности.
| |
|
3.15, Аноним (-), 16:34, 19/02/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не совсем алгоритмическая. Тут именно особенность PHP, на которую, очевидно, нарвался человек, перешедший с другого языка. Документированная, но от этого не легче. Название функции "empty(str)" явно вводит в заблуждение.
| |
3.18, Michael Shigorin (ok), 00:01, 20/02/2015 [^] [^^] [^^^] [ответить]
| +/– |
> В смысле это типа, типо по жизни имело очень таксебешный уровень безопасности.
Отнюдь, заметно лучше среднего в своём классе.
| |
|
|
|
2.14, Аноним (-), 16:28, 19/02/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Очевидно разработчики не знают об автоматизированном тестировании
Очевидно что некоторые макаки думают что автоматизированное тестирование заменяет головной мозг и разработчикам и тестировщикам. А это совсем не так.
| |
|
3.17, Аноним (-), 23:29, 19/02/2015 [^] [^^] [^^^] [ответить]
| +/– |
Пардон, но ведь недопиленному автоматизированному тестировани, разве не ущербный головной мозг виной его написавшего?
| |
|
|
|