در این مطلب، ویدئو آموزش شماره 10 Python Flask: محدود کردن دسترسی به پنل مدیریت | دوره سقوط فلاسک برای مبتدیان با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:32:15
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,340
در این ویدیو به شما نشان خواهم داد که چگونه
2
00:00:02,340 –> 00:00:05,790
دسترسی به برخی نماها را به
3
00:00:05,790 –> 00:00:08,069
کلاس های خاصی که به پنل مدیریت اضافه شده اند
4
00:00:08,069 –> 00:00:11,040
محدود کنید و چگونه دسترسی به کل
5
00:00:11,040 –> 00:00:14,219
پنل مدیریت فلاسک را محدود کنید و ما می توانیم این کار را با
6
00:00:14,219 –> 00:00:25,740
پسوند امنیتی flask انجام دهیم تا
7
00:00:25,740 –> 00:00:29,070
دسترسی کاربران غیرمجاز را محدود کنیم. در یک
8
00:00:29,070 –> 00:00:32,159
صفحه اول از همه باید یک
9
00:00:32,159 –> 00:00:35,309
کاربر و نقش او را تعریف کنم و بنابراین
10
00:00:35,309 –> 00:00:38,989
باید دو مدل جدید کاربر و نقش ایجاد کنم و
11
00:00:38,989 –> 00:00:42,180
همچنین رابطه بین آنها را تنظیم کنم که رابطه بین
12
00:00:42,180 –> 00:00:44,219
آنها بسیار زیاد خواهد بود
13
00:00:44,219 –> 00:00:48,480
بنابراین من به فایل مدل py نیاز دارم
14
00:00:48,480 –> 00:00:56,219
و در اینجا از امنیت flask من یک
15
00:00:56,219 –> 00:01:02,190
کاربر مهم Mixon هستم و
16
00:01:02,190 –> 00:01:07,650
کلاسهای mixin که کلاس mixin کاربر به ما ارائه میدهد
17
00:01:07,650 –> 00:01:11,369
روشهای کمکی مانند get user
18
00:01:11,369 –> 00:01:15,450
هدر فعال همه و غیره است و سپس من
19
00:01:15,450 –> 00:01:25,740
یک مدل جدید کلاس کاربر تعریف میکنم و
20
00:01:25,740 –> 00:01:28,650
یک نمونه خواهد بود. از کلاس مدل
21
00:01:28,650 –> 00:01:43,280
و user mixin کاربر شناسه خواهد داشت و
22
00:01:43,280 –> 00:01:52,280
ایمیل ایمیل یک رشته نوع داده
23
00:01:52,280 –> 00:01:56,820
حداکثر طول 100 خواهد بود و باید
24
00:01:56,820 –> 00:02:01,229
منحصر به فرد باشد سپس کاربر در
25
00:02:01,229 –> 00:02:08,179
واقع رمز عبور خواهد داشت و به عنوان یک قاعده
26
00:02:08,179 –> 00:02:11,239
رمز عبور در آن ذخیره نمی شود. یک پایگاه داده
27
00:02:11,239 –> 00:02:14,040
معمولاً
28
00:02:14,040 –> 00:02:17,280
فقط هش های ناخواسته رمزهای عبور را ذخیره می کند، به
29
00:02:17,280 –> 00:02:20,129
عنوان مثال، هش های نمکی را ذخیره می کند که
30
00:02:20,129 –> 00:02:22,680
با اعمال توابع هش روی یک
31
00:02:22,680 –> 00:02:27,239
رمز عبور 30000 بار
32
00:02:27,239 –> 00:02:29,790
33
00:02:29,790 –> 00:02:36,379
34
00:02:36,379 –> 00:02:42,890
به دست می آورد. همچنین دارای فیلد فعال
35
00:02:42,890 –> 00:02:48,480
خواهد بود درست یا نادرست بولی و
36
00:02:48,480 –> 00:02:56,040
نقش آنها را الگوی تنها ایده
37
00:02:56,040 –> 00:02:58,609
و نام
38
00:03:06,690 –> 00:03:10,290
خواهد داشت می خواهم توجه شما را جلب کنم که
39
00:03:10,290 –> 00:03:13,590
فیلد نام فیلد مورد نیاز است و
40
00:03:13,590 –> 00:03:16,590
منظورم این است که اگر فیلد دیگری را یک
41
00:03:16,590 –> 00:03:18,840
عنوان تعریف کنید. به عنوان مثال، شما یک استثنا دریافت خواهید کرد،
42
00:03:18,840 –> 00:03:21,900
همچنین باید یک
43
00:03:21,900 –> 00:03:24,600
جدول اضافی ایجاد کنم تا اطلاعات
44
00:03:24,600 –> 00:03:27,150
مربوط به رابطه چند به چند را ذخیره کند و
45
00:03:27,150 –> 00:03:30,120
من این کار را به همان روشی که
46
00:03:30,120 –> 00:03:36,240
برای انجمن برچسب پست انجام دادم انجام
47
00:03:36,240 –> 00:03:43,560
خواهم داد تا اینجا باشد. نقش ها و کاربران جدول خواهد بود
48
00:03:43,560 –> 00:03:47,750
نام جدول نقش کاربران
49
00:03:47,750 –> 00:04:03,120
سپس ستون اول خواهد بود شناسه کاربر GB
50
00:04:03,120 –> 00:04:10,590
عدد صحیح یک کلید خارجی است و مسیر
51
00:04:10,590 –> 00:04:17,910
مقدار آن شناسه کاربر است فلاسک ستون دوم
52
00:04:17,910 –> 00:04:20,359
53
00:04:32,240 –> 00:04:35,570
یک استثنا را ایجاد می کند نصب ایمیل
54
00:04:35,570 –> 00:04:39,020
اعتباردهنده من این کار را کمی بعد انجام خواهم داد، بنابراین یک
55
00:04:39,020 –> 00:04:41,630
جدول از قبل وجود دارد و حالا باید
56
00:04:41,630 –> 00:04:45,080
رابطه را تعریف کنم،
57
00:04:45,080 –> 00:04:50,960
فرض کنید در قسمت قوانین جدول کاربر
58
00:04:50,960 –> 00:04:54,980
، رابطه DB خواهد بود و اولین
59
00:04:54,980 –> 00:04:58,190
آرگومان مدل
60
00:04:58,190 –> 00:05:01,760
شرکت کننده دوم این است. رابطه
61
00:05:01,760 –> 00:05:08,540
بند نقش آن و سپس پارامتر ثانویه
62
00:05:08,540 –> 00:05:12,020
جدولی است که می خواهم برای ذخیره
63
00:05:12,020 –> 00:05:16,700
داده های مربوط به این رابطه استفاده کنم
64
00:05:16,700 –> 00:05:21,710
جدول کاربران قوانین آن و سپس بازپرداخت ref
65
00:05:21,710 –> 00:05:28,730
برگشتی همه مواردی هستند که فیلد کاربران را دریافت می
66
00:05:28,730 –> 00:05:34,720
کنند و همچنین پویا خواهد بود
67
00:05:34,720 –> 00:05:39,470
و اکنون من دارم برای منعکس کردن همه این
68
00:05:39,470 –> 00:05:43,370
تغییرات در پایگاه داده من و همچنین باید
69
00:05:43,370 –> 00:05:52,330
کنترل اعتبارسنجی ایمیل C
70
00:05:52,330 –> 00:05:59,570
را نصب کنم و در اینجا افراد نصب ممکن است بیش از حد داده باشد،
71
00:05:59,570 –> 00:06:10,030
سپس من به مدیریت فایل py خود نیاز دارم – مدیریت
72
00:06:10,030 –> 00:06:16,780
py d باشد نظر مهاجرتی من
73
00:06:26,910 –> 00:06:32,040
ایده خوب و شناسه رول البته متاسفم
74
00:06:32,040 –> 00:06:32,810
برای که
75
00:06:32,810 –> 00:06:38,700
بیایید دوباره تلاش کنیم مهاجرت کنیم خوب تمام شد
76
00:06:38,700 –> 00:06:46,470
و عالی بود خوب انجام شد
77
00:06:46,470 –> 00:06:50,010
و اکنون می خواهم یک کاربر ایجاد کنم و
78
00:06:50,010 –> 00:06:54,330
یک فلاسک امنیتی را به برنامه خود در
79
00:06:54,330 –> 00:07:02,240
مدل App Pyo وصل کنم که می خواهم از
80
00:07:02,240 –> 00:07:06,080
flask security
81
00:07:07,970 –> 00:07:17,760
SQL alchemy وارد کنم user datastore این کلاس
82
00:07:17,760 –> 00:07:21,030
یک فضای ذخیرهسازی است که
83
00:07:21,030 –> 00:07:25,740
شیء و نقشهای کیمیاگری SQL کاربران را ذخیره میکند، همچنین باید
84
00:07:25,740 –> 00:07:30,450
کلاسهای ثبتشده کاربر خود را وارد کنم، اما
85
00:07:30,450 –> 00:07:41,640
قبلاً این کار را در این خط انجام دادهام، خوب، باید
86
00:07:41,640 –> 00:07:51,390
یک شی ذخیره داده کاربر ایجاد کنم،
87
00:07:51,390 –> 00:07:54,780
این نمونهای از SQL است. کلاس ذخیره اطلاعات کاربر alchemy
88
00:07:54,780 –> 00:07:57,480
و سازنده این
89
00:07:57,480 –> 00:08:02,460
کلاس شیء SQL alchemy DB
90
00:08:02,460 –> 00:08:06,990
مدل کاربر و نقش را روی آن می گیرد
91
00:08:06,990 –> 00:08:10,460
تا امنیت flask را به برنامه خود متصل کند، من
92
00:08:10,460 –> 00:08:16,200
متغیر امنیتی را ایجاد می کنم که
93
00:08:16,200 –> 00:08:20,730
نمونه ای از بند امنیتی است که
94
00:08:20,730 –> 00:08:24,530
باید ابتدا وارد کنم. لایه
95
00:08:34,320 –> 00:08:37,799
و سازنده ای است که از من
96
00:08:37,799 –> 00:08:44,070
در متغیر ذخیره داده کاربر کمک می گیرد، خوب است و
97
00:08:44,070 –> 00:08:57,500
اکنون می خواهم یک کاربر از ورودی برنامه ایجاد
98
00:08:57,500 –> 00:09:03,600
کنم که به DB و شی ذخیره داده کاربر نیاز دارم
99
00:09:03,600 –> 00:09:07,470
و یک جزئیات کوچک در اینجا وجود دارد
100
00:09:07,470 –> 00:09:10,620
که باید از طریق آن یک کاربر ایجاد کنم.
101
00:09:10,620 –> 00:09:13,890
شی ذخیره اطلاعات کاربر اما و نه با
102
00:09:13,890 –> 00:09:17,040
مدل کاربری من، این روش توسط اسناد امنیتی فلاسک مورد نیاز است،
103
00:09:17,040 –> 00:09:22,290
بنابراین
104
00:09:22,290 –> 00:09:27,420
ذخیره اطلاعات کاربر کاربر و من کالین هستم،
105
00:09:27,420 –> 00:09:37,940
ایمیل روش کاربر ایجاد N خواهد بود و رمز عبور
106
00:09:37,940 –> 00:09:50,430
admin خواهد بود. n بررسی کنید که آیا
107
00:09:50,430 –> 00:09:54,260
کاربر در چه شرایطی ایجاد شده است یا خیر
108
00:10:00,010 –> 00:10:04,040
و اکنون می توانم Nexus را
109
00:10:04,040 –> 00:10:10,360
به برنامه خود محدود کنم، بنابراین به ماژول طرح py نیاز دارم
110
00:10:10,360 –> 00:10:16,220
و در اینجا من واردات از flask
111
00:10:16,220 –> 00:10:19,070
Security را دارم، ورود به سیستم نیاز به یک دکوراتور دارد
112
00:10:19,070 –> 00:10:29,180
و می توانم از تزئین کننده آن برای محدود کردن و محدود کردن استفاده کنم.
113
00:10:29,180 –> 00:10:32,150
Nexus to the post ایجاد و ارسال
114
00:10:32,150 –> 00:10:44,830
بهروزرسانی نماها من سرور را مجدداً
115
00:10:44,830 –> 00:10:49,400
راهاندازی میکنم خوب است و من به فرم ایجاد
116
00:10:49,400 –> 00:10:56,300
پست جدید دسترسی دارم و اکنون میتوانم از یک
117
00:10:56,300 –> 00:11:00,200
desecrator برای محدود کردن و دسترسی برای
118
00:11:00,200 –> 00:11:06,380
ایجاد و بهروزرسانی پست استفاده کنم که در زیر دکوراتور اصلی استفاده میکنیم.
119
00:11:06,380 –> 00:11:08,900
من با دکوراتور مورد نیاز ورود به سیستم تماس میگیرم،
120
00:11:08,900 –> 00:11:12,280
121
00:11:17,290 –> 00:11:21,400
خوب بیایید دوباره آن را آزمایش کنیم
122
00:11:22,480 –> 00:11:26,510
و کار میکند، میتوانیم فرم را
123
00:11:26,510 –> 00:11:28,130
ببینیم، سعی کنیم وارد
124
00:11:28,130 –> 00:11:36,800
شوید، آرام آرام بود و ادمین و
125
00:11:36,800 –> 00:11:41,620
من یک خطای زمان اجرا دارم، پیشنهاد میکند
126
00:11:41,620 –> 00:11:45,140
رمز عبور امنیتی salt و
127
00:11:45,140 –> 00:11:50,150
هش رمز عبور امنیتی را تنظیم کنید. من باید فایل پیکربندی خود را ویرایش کنم
128
00:11:50,150 –> 00:11:59,980
تا salt پسورد امنیتی
129
00:11:59,980 –> 00:12:04,490
تنها باشد و به صورت تصادفی لکهدار شود، این
130
00:12:04,490 –> 00:12:07,120
فقط یک مثال
131
00:12:07,290 –> 00:12:13,509
در هش رمز عبور امنیتی با حروف بزرگ و امنیتی است.
132
00:12:13,509 –> 00:12:21,610
133
00:12:21,610 –> 00:12:25,959
134
00:12:25,959 –> 00:12:33,699
باید با حروف بزرگ هم باشد، اجازه دهید دوباره آن را امتحان کنیم
135
00:12:33,699 –> 00:12:34,480
136
00:12:34,480 –> 00:12:44,490
و سپس خوب کار می کند پست جدید
137
00:12:44,490 –> 00:12:52,720
دوباره از سیستم خارج شوید پست جدید و
138
00:12:52,720 –> 00:12:57,339
من را به صفحه ورود هدایت می کند حالا بیایید به
139
00:12:57,339 –> 00:13:04,209
صفحه مدیریت برویم و می بینیم که
140
00:13:04,209 –> 00:13:08,620
پنل مدیریت هنوز در دسترس است و من به 20 نیاز دارم.
141
00:13:08,620 –> 00:13:12,610
امنیت فلاسک عالی و ادمین فلاسک اما
142
00:13:12,610 –> 00:13:15,250
ابتدا میخواهم فرم ورودم را شخصیسازی کنم،
143
00:13:15,250 –> 00:13:15,880
144
00:13:15,880 –> 00:13:26,610
به پوشه قالبهای مسیر نیاز دارم و
145
00:13:26,610 –> 00:13:32,199
در اینجا باید یک پوشه امنیتی ایجاد کنم
146
00:13:32,199 –> 00:13:37,029
و در داخل این پوشه میخواهم
147
00:13:37,029 –> 00:13:40,329
قالبهای HTML با نامها و
148
00:13:40,329 –> 00:13:43,569
قالبهای امنیتی فلاسک داشته باشم. بنابراین
149
00:13:43,569 –> 00:13:46,750
حداقل نیاز به ورود به HTML کاربر دارم و
150
00:13:46,750 –> 00:13:49,600
میخواهم آن را در محیط مجازی قرار دهم و در
151
00:13:49,600 –> 00:13:54,189
پایان دایرکتوری با
152
00:13:54,189 –> 00:13:57,639
محیط مجازی من یک پوشه Lib Python
153
00:13:57,639 –> 00:14:06,750
38 بستههای جانبی فلاسک
154
00:14:06,750 –> 00:14:08,529
الگوهای
155
00:14:08,529 –> 00:14:15,810
امنیتی امنیت و من نیاز به ورود کاربر و
156
00:14:15,810 –> 00:14:20,560
پیامها کنترل-c و سپس باید
157
00:14:20,560 –> 00:14:31,170
آن را در قالبهای برنامهام کپی کنم، امنیت
158
00:14:31,170 –> 00:14:39,449
خوب است، سپس اول از همه وارد شوید،
159
00:14:39,449 –> 00:14:43,540
فایل HTML کاربر باید فایل HTML پایه من را گسترش دهد
160
00:14:43,540 –> 00:14:56,709
خوب، فرض کنید سرور را راهاندازی کنیم و
161
00:14:56,709 –> 00:15:01,329
بیایید یک فرم ورود را امتحان کنیم، خوب من دارم
162
00:15:01,329 –> 00:15:06,189
منوی خود را دریافت کردم اما صفحه خالی است زیرا
163
00:15:06,189 –> 00:15:19,059
باید از بلوک محتوای بلوک خود استفاده کنم
164
00:15:19,059 –> 00:15:22,480
. فرم را دارم اما فاقد
165
00:15:22,480 –> 00:15:27,430
کلاس های CSS است.
166
00:15:27,430 –> 00:15:30,899
167
00:15:30,899 –> 00:15:34,420
168
00:15:34,420 –> 00:15:38,069
پارامتر class بنابراین من نیاز دارم
169
00:15:38,069 –> 00:15:48,899
که کلاس ارسال شود Mickey nvm
170
00:15:48,899 –> 00:15:51,899
171
00:15:55,070 –> 00:16:00,440
موفقیت تگ ورودی ایمیل از
172
00:16:00,440 –> 00:16:04,340
کنترلهایی که میگوید کلاس و رمز عبور
173
00:16:04,340 –> 00:16:16,600
به پنج بیش از حد در پرانتز
174
00:16:16,600 –> 00