Kontrola PSČ
This commit is contained in:
		
							parent
							
								
									b42d18f0a4
								
							
						
					
					
						commit
						0df3cb8509
					
				
					 1 changed files with 16 additions and 2 deletions
				
			
		|  | @ -97,8 +97,20 @@ class DodatecnaRegistraceUzivateleView(TemplateResponseMixin, View): | ||||||
| 				) | 				) | ||||||
| 		osoba_id = int(token_data['osoba']) | 		osoba_id = int(token_data['osoba']) | ||||||
| 		osoba = m.Osoba.objects.get(id=osoba_id) | 		osoba = m.Osoba.objects.get(id=osoba_id) | ||||||
|  | 		 | ||||||
| 		# Zkontrolovat verifikační field | 		# Zkontrolovat verifikační field | ||||||
| 		... | 		kanonicke_psc = lambda x : ''.join(filter(str.isdigit, x)) | ||||||
|  | 		psc = kanonicke_psc(form_data['PSC_verifikace']) | ||||||
|  | 		realne_psc = kanonicke_psc(osoba.psc) | ||||||
|  | 		# Much crypto, very secure :-) | ||||||
|  | 		if not hmac.compare_digest(psc, realne_psc): | ||||||
|  | 			return render_to_response( | ||||||
|  | 				context={ | ||||||
|  | 					'error': 'Nesedí verifikační pole', | ||||||
|  | 					}, | ||||||
|  | 				status_code=400, | ||||||
|  | 				) | ||||||
|  | 
 | ||||||
| 		# Vyrobit uživatele | 		# Vyrobit uživatele | ||||||
| 		u = User.objects.create_user( | 		u = User.objects.create_user( | ||||||
| 				username=form_data['username'], | 				username=form_data['username'], | ||||||
|  | @ -134,7 +146,9 @@ class RegistraceUzivateleForm(Form): | ||||||
| 
 | 
 | ||||||
| 	# Dodatečné fieldy + token… | 	# Dodatečné fieldy + token… | ||||||
| 	token = forms.CharField(widget=forms.HiddenInput(), required=True) | 	token = forms.CharField(widget=forms.HiddenInput(), required=True) | ||||||
| 	verifikace_TODO = ... # TODO: Co verifikovat | 	# TODO: Tohle asi blízký útočník (e.g. zapomenuté přihlášení na školním počítači) umí odhalit. | ||||||
|  | 	PSC_verifikace = forms.CharField(max_length=8, required=True, label="PSČ tvého bydliště", | ||||||
|  | 			help_text="Chceme si jen ověřit, že se někdo cizí nezmocnil tvého odkazu") | ||||||
| 
 | 
 | ||||||
| 	# TODO: clean_username, verifikace … | 	# TODO: clean_username, verifikace … | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Pavel "LEdoian" Turinsky
						Pavel "LEdoian" Turinsky