У меня есть такая практика входа в мое приложение, оно запущено и работает, но мои опасения связаны с обеспечением этого подхода для входа в систему.
URL моего приложения:
urlpatterns = [
path('', views.index, name='index'),
path('accounts/login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'),
path('dashboard/', views.dashboard, name='dashboard'),
]
Просмотры моего приложения:
def index(request):
if not request.user:
return redirect(login_view)
return redirect(dashboard)
def login_view(request):
form = LoginForm(request.POST or None)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(request, username=username, password=password)
login(request, user)
if request.GET.get('next'):
return redirect(request.GET.get('next'))
return redirect(dashboard)
context = {
'form': form,
}
return render(request, 'index.html', context)
def logout_view(request):
logout(request)
return redirect(index)
в моих views.py index(request)
, я считаю, что это может быть уязвимо, потому что если кто-то может сделать это и изменить запросить и установить фальшивую user
она может go через?.
Я знаю концепции безопасности, но не разбираюсь в Django подходах к устройству.
Есть ли лучший способ сделать это или мне не нужно это менять, и это уже безопасная практика?