From 0607665bfd3da0ca28536a3cb647cf048df8763d Mon Sep 17 00:00:00 2001 From: Camille Simiand <camille.simiand@tetras-libre.fr> Date: Tue, 28 Dec 2021 17:01:12 +0100 Subject: [PATCH] Fix hash password --- config/packages/security.yaml | 3 +-- public/cookies.txt | 4 ++++ src/Controller/CapsuleController.php | 14 +++++--------- 3 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 public/cookies.txt diff --git a/config/packages/security.yaml b/config/packages/security.yaml index d04ac40..9a6f39d 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -34,5 +34,4 @@ security: # switch_user: true access_control: - - { path: ^/(?!register|login|generate-captcha|verify/email|reset-password), roles: ROLE_USER } - - { path: ^/*/edition, roles: ROLE_EDITOR } \ No newline at end of file + - { path: ^/(?!register|login|generate-captcha|verify/email|reset-password), roles: ROLE_USER } \ No newline at end of file diff --git a/public/cookies.txt b/public/cookies.txt new file mode 100644 index 0000000..c31d989 --- /dev/null +++ b/public/cookies.txt @@ -0,0 +1,4 @@ +# Netscape HTTP Cookie File +# https://curl.se/docs/http-cookies.html +# This file was generated by libcurl! Edit at your own risk. + diff --git a/src/Controller/CapsuleController.php b/src/Controller/CapsuleController.php index 0226e8c..654522c 100644 --- a/src/Controller/CapsuleController.php +++ b/src/Controller/CapsuleController.php @@ -7,7 +7,6 @@ use App\Form\CreateCapsuleFormType; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Routing\Annotation\Route; class CapsuleController extends AbstractController @@ -26,22 +25,20 @@ class CapsuleController extends AbstractController /** * @Route("/create", name="create_capsule") */ - public function new(Request $request, UserPasswordHasherInterface $password_hasher): Response + public function new(Request $request): Response { - $this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED'); - $capsule = new Capsule(); $form = $this->createForm(CreateCapsuleFormType::class, $capsule); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { -// $capsulePass = $request->request->get('p'); $new_date_time = new \DateTime(); $capsule_name = $form->get('name')->getData(); -// $sanitized_capsule_name = $this->sanitize($capsule_name); + $sanitized_capsule_name = $this->sanitize($capsule_name); - $preview_link = password_hash($capsule_name, PASSWORD_BCRYPT); - $edition_link = $preview_link . '/edition'; + $hashed_and_salted_access_link = password_hash($sanitized_capsule_name, PASSWORD_BCRYPT); + $preview_link = 'preview/' . $hashed_and_salted_access_link; + $edition_link = 'edition/' . $hashed_and_salted_access_link; $capsule->setName($capsule_name); $capsule->setCreationAuthor($this->getUser()); @@ -62,7 +59,6 @@ class CapsuleController extends AbstractController ]); } - // copy of function used by memorekall to calculate real project name ! public static function sanitize($string, $force_lowercase = true, $anal = false) { $strip = array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]", -- GitLab