Python Django URL-адреса входа и представления - подход к безопасности - PullRequest
1 голос
/ 02 апреля 2020

У меня есть такая практика входа в мое приложение, оно запущено и работает, но мои опасения связаны с обеспечением этого подхода для входа в систему.

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 подходах к устройству.

Есть ли лучший способ сделать это или мне не нужно это менять, и это уже безопасная практика?

...