2016-03-23 20 views
0

Craft için çok yeni ve Craft dünya için oldukça yeni. Birisi veritabanında saklanmak üzere bir parolayı nasıl şifreleyeceğini bilip bilmediğini veya nasıl yapılacağına dair bazı yönergelerin olduğu doğru yönde yönlendirebileceğimi merak ediyorum.Craft CMS'de şifreli formda şifre nasıl saklanır?

Etrafta iyi bir arama yaptım ve hiçbir şeyle gelmedim. “Güvenlik Hizmeti” nde bir şifreleme yöntemine sahip olan dokümanları okudum, ancak bunu nasıl uygulayacağımı anlamıyorum. Ayrıca yardımcı olabilecek bir eklentiye rastladım; https://github.com/t3kila/SecureField-Craft ancak yerel bir çözümü tercih ediyorum, böylece depolama herhangi bir üçüncü taraf eklentisine bağımlı olmayacak.

Denedim;

$password = craft()->securityService->encrypt($password) 

ama boşuna

... Ben bilen birisi için oldukça basit bir egzersiz olacak eminim, ama dışarısı birçok bilgi olmadığını sadece bu yüzden yeni.

+0

ben cevap önce, açıklayınız olabilir [bunları düzgün saklamak yerine] (https://paragonie.com/blog/2016/02/how-safely-store-password- in-2016)? –

cevap

1

Bu, oldukça basit olmalıdır. Craft'ın SecurityService'u kullanabilirsiniz, ancak veritabanına kaydetmeden önce şifrelenmiş parolanız da base64_encode olmalıdır. Eğer şifreleri şifrelemek istediğiniz neden

$encryptedPassword = base64_encode(craft()->security->encrypt($password)); 

$decryptedPassword = craft()->security->decrypt(base64_decode($encryptedPassword)); 
+0

Test edildi, bu çalışıyor. Kabul edilen cevap olmalı. –