SetDefaults nefunguje pro prvek password

lookass
Člen | 54
+
0
-

Zdravím, je cesta jak nastavit defaultní hodnotu formuláře pro password?


//v komponentě
    public function render(): void
   {
        $this['test']->setDefaults(['name'=>'name', 'psw'=>'password']);
        $this->template->setFile(self::TEMPLATE_PATH . 'default.latte');
        $this->template->render();
   }

    protected function createComponentTest(): Form
    {
        $form = new Form();
        $form->addText('name', 'name');
        $form->addPassword('psw', 'password');
        return $form;
    }

Toto nastaví defaultní hodnotu pouze prvku ‚name‘.

David Matějka
Moderator | 6445
+
+2
-

melo by to jit obejit pres

$this['test']['psw']->getControlPrototype()->value = 'value';

a můžu se zeptat, proč to potřebuješ?

lookass
Člen | 54
+
0
-

David Matějka napsal(a):

melo by to jit obejit pres

$this['test']['psw']->getControlPrototype()->value = 'value';

a můžu se zeptat, proč to potřebuješ?

Děkuji, funguje.
Ve firemním intranetu mám modul pro správu přístupových údajů. Uživatelé si zde ukládají hesla a další údaje.

Kamil Valenta
Člen | 820
+
+1
-

A Ty si je uchováváš v plaintext, abys je mohl inputu předhodit v defaultu?

lookass
Člen | 54
+
0
-

V databázi mam hash, který dekoduju při editaci záznamu. Ta editace se provádí v řádku Datagridu, který neuměl předat defaulni hodnotu pro input type password.
Je tento přístup nebezpečný?

Václav Kraus
Člen | 77
+
0
-

lookass napsal(a):

V databázi mam hash, který dekoduju při editaci záznamu. Ta editace se provádí v řádku Datagridu, který neuměl předat defaulni hodnotu pro input type password.
Je tento přístup nebezpečný?

Ano. Hesla by nemělo možné jít „dekódovat“

lookass
Člen | 54
+
0
-

To chápu. Tento argument ale znamená, že takovou aplikaci nelze vytvořit.
V případě, že se jedná o firemní intranet, kde data jsou přímo na úložištích u nás ve firmě a nejsou vpuštěna do internetu (nepočítám zabezpečený vpn tunel mezi zavodama) připadá mi riziko odcizení úplně minimální.

Mimo jiné mě ještě napadlo citlivá data hashovat unikátním certifikátem vystaveným pro uživatele. Bez jeho nahrátí by nebylo možné dekódovat. I v tomto řešení byste viděli bezpečnostní problém při vpuštění aplikace do internetu?

David Matějka
Moderator | 6445
+
+1
-

hashování != šifrování. hash nejde dekodovat.

z jakého důvodu potřebuješ přistupovat k tomu heslu samotnému?

lookass
Člen | 54
+
0
-

Dejme tomu, že další modul mam pro spravu VLANu ve firmě. Kazda VLANa ma svuj ip list se všema zarizenima v siti.

Ke každému síťovému zařízení může být přiřazen přihlašovací přístup, což je tabulka se sloupci Title, User, Password, Url, Note. Heslo se zobrazuje jako tři hvězdičky. Po kliknutí na sloupec dojde k uložení textu do clipboardu. V praxi si teda najdu v ip listu např switch, kam se potřebuji připojit, kliknu na url, což mi otevře novou záložku, vrátim se zpet a postupne si kliknutím zkopíruju user a password, abych nemusel nic přepisovat.

Z toho důvodu je tedy potřeba tato heslo šifrovat a ne hashovat.

David Matějka
Moderator | 6445
+
+1
-

Takže vlastně píšeš vlastní password manager? Ok, pak je šifrování legitimní (jen bych osobně raději zvolil nějaký existující řešení na správu přihlašovacích údajů)

lookass
Člen | 54
+
0
-

Ok, děkuji za konzultaci.