در این مطلب، ویدئو پنهان کردن کلیدهای API در اسکریپت های پایتون با استفاده از python-dotenv، .env و gitignore. با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:51
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,640 –> 00:00:03,120
گاهی اوقات وقتی در حال برنامه نویسی
2
00:00:03,120 –> 00:00:05,759
هستید، کد یا تکه های کوچکی
3
00:00:05,759 –> 00:00:07,520
دارید که نمی خواهید با تمام دنیا به اشتراک بگذارید
4
00:00:07,520 –> 00:00:09,120
5
00:00:09,120 –> 00:00:10,719
و من نمی گویم فقط از
6
00:00:10,719 –> 00:00:12,719
برنامه نویسی خود خجالت می کشید،
7
00:00:12,719 –> 00:00:16,000
من در مورد چیزهایی مانند کلیدهای api صحبت می کنم.
8
00:00:16,000 –> 00:00:17,359
9
00:00:17,359 –> 00:00:21,199
گذرواژههای آدرس ایمیل چیزهایی که خصوصی به حساب میآیند،
10
00:00:21,199 –> 00:00:23,439
اما شاید هنوز بخواهید کدی را
11
00:00:23,439 –> 00:00:25,199
در اینترنت پست کنید، شاید بخواهید
12
00:00:25,199 –> 00:00:27,519
در یک پروژه منبع باز مشارکت کنید، شاید بخواهید پروژه منبع
13
00:00:27,519 –> 00:00:29,359
باز خود را ایجاد کنید،
14
00:00:29,359 –> 00:00:30,400
15
00:00:30,400 –> 00:00:32,000
شاید بخواهید کد نمونه را به صورت
16
00:00:32,000 –> 00:00:34,000
آنلاین پست کنید. فقط می خواهم
17
00:00:34,000 –> 00:00:35,440
برخی از تکالیف خود یا چیزی شبیه به
18
00:00:35,440 –> 00:00:37,280
آن را در وب قرار دهم تا مردم بدانند که
19
00:00:37,280 –> 00:00:39,120
شما روی این موضوع چه کار می کنید
20
00:00:39,120 –> 00:00:42,320
این است که اگر من پست می کنم این
21
00:00:42,320 –> 00:00:44,239
فایل را همین جا در اینترنت
22
00:00:44,239 –> 00:00:46,160
بگویم ناگهان مردم چیزهای زیادی را می دانند که
23
00:00:46,160 –> 00:00:48,559
ممکن است ندانم میخواهم بدانند
24
00:00:48,559 –> 00:00:51,520
برای مثال این یک کلید api است که
25
00:00:51,520 –> 00:00:53,120
برای دسترسی به یک سرویس استفاده میشود
26
00:00:53,120 –> 00:00:55,199
و شاید میدانم پولی را بپردازید
27
00:00:55,199 –> 00:00:57,360
تا بتوانید به این سرویس دسترسی پیدا کنید،
28
00:00:57,360 –> 00:00:59,520
شخص دیگری این کلید api را میگیرد و میتواند
29
00:00:59,520 –> 00:01:00,879
وانمود کند که من
30
00:01:00,879 –> 00:01:02,879
اجرا میکنم. صورتحسابهای من انواع
31
00:01:02,879 –> 00:01:04,159
چیزهای وحشتناک را به
32
00:01:04,159 –> 00:01:06,799
علاوه اینجا آدرس ایمیل من است،
33
00:01:06,799 –> 00:01:07,600
34
00:01:07,600 –> 00:01:09,360
شاید میخواهم آدرس ایمیل خود را خصوصی نگه دارم
35
00:01:09,360 –> 00:01:11,200
به جای اینکه به
36
00:01:11,200 –> 00:01:13,760
هر کسی در اینترنت اجازه بدهم بداند که چه
37
00:01:13,760 –> 00:01:16,000
چیزی در اینجا وجود دارد،
38
00:01:16,000 –> 00:01:18,320
اگر کسی این اطلاعات را داشته باشد، ممکن است بتواند این اطلاعات
39
00:01:18,320 –> 00:01:20,080
را داشته باشد. وارد اکانت من شوید و
40
00:01:20,080 –> 00:01:21,920
من را در آن قفل کنید و چیزهایم را بدزدید،
41
00:01:21,920 –> 00:01:23,280
42
00:01:23,280 –> 00:01:26,240
بنابراین مشکل این است که وقتی اینها روی رایانه من هستند مشکلی ندارد،
43
00:01:26,240 –> 00:01:28,080
44
00:01:28,080 –> 00:01:30,880
اما برای مثال اگر همه اینها را انجام
45
00:01:30,880 –> 00:01:32,960
دهم و آن را به github فشار دهم،
46
00:01:32,960 –> 00:01:35,040
در جای بدی خواهم بود. چون
47
00:01:35,040 –> 00:01:37,200
هر کسی که به کد من در github نگاه
48
00:01:37,200 –> 00:01:39,040
کند میتواند کلید api من را دریافت
49
00:01:39,040 –> 00:01:40,720
کند، میتواند ایمیل من را دریافت کند،
50
00:01:40,720 –> 00:01:43,040
میتواند رمز عبور من را دریافت کند،
51
00:01:43,040 –> 00:01:44,880
بنابراین کاری که ما در این ویدیو میخواهیم انجام دهیم این
52
00:01:44,880 –> 00:01:46,320
است که ما میخواهیم یاد بگیریم که چگونه از
53
00:01:46,320 –> 00:01:46,720
ابزاری
54
00:01:46,720 –> 00:01:50,159
به نام env استفاده کنیم تا چیزهایی مانند
55
00:01:50,159 –> 00:01:53,200
رمزهای عبور آدرسهای ایمیل کلیدهای api را پنهان کنیم
56
00:01:53,200 –> 00:01:56,960
تا در github قابل مشاهده
57
00:01:56,960 –> 00:02:01,439
نباشند، بنابراین این ابزار python.env است، مدتهاست که در دسترس است
58
00:02:01,439 –> 00:02:03,360
، عالی است
59
00:02:03,360 –> 00:02:04,719
60
00:02:04,719 –> 00:02:05,920
، اولین چیزی که ما را خوشحال میکند، لذت میبرد. باید
61
00:02:05,920 –> 00:02:08,080
انجام دهیم این است که ما هستیم باید
62
00:02:08,080 –> 00:02:10,239
آن را نصب کنید، بنابراین مانند هر چیز دیگری در
63
00:02:10,239 –> 00:02:12,319
دنیای پایتون، ما از
64
00:02:12,319 –> 00:02:15,599
نصب پیپ برای
65
00:02:15,599 –> 00:02:20,840
نصب پیپ استفاده خواهیم
66
00:02:20,840 –> 00:02:23,520
67
00:02:23,520 –> 00:02:24,879
کرد. من فقط میخواهم آن را دوباره اجرا کنم
68
00:02:24,879 –> 00:02:28,400
زیرا هی، چرا پایتونی
69
00:02:28,400 –> 00:02:30,239
که در کد ویژوال استودیو دارید
70
00:02:30,239 –> 00:02:32,160
ممکن است همان پایتونی نباشد که
71
00:02:32,160 –> 00:02:33,440
در جاهای دیگر رایانهتان اجرا میکنید،
72
00:02:33,440 –> 00:02:37,599
مانند مکانهای پایانهای مانند
73
00:02:37,599 –> 00:02:39,280
نوتبوکهای مشتری، مواردی از این قبیل، بنابراین
74
00:02:39,280 –> 00:02:41,360
فقط pip install را در جایی که معمولاً اجرا میکنید اجرا کنید.
75
00:02:41,360 –> 00:02:42,160
آن را نصب کنید،
76
00:02:42,160 –> 00:02:43,840
من فقط در اینجا اجرا میکنم تا همه چیز را
77
00:02:43,840 –> 00:02:46,800
در همان مکان نگه
78
00:02:46,800 –> 00:02:50,080
دارم، کاری که ابتدا باید انجام دهیم این است
79
00:02:50,080 –> 00:02:53,599
که در حال حاضر کدهایمان را دوباره سازماندهی کنیم.
80
00:02:53,599 –> 00:02:56,239
81
00:02:56,239 –> 00:02:57,040
82
00:02:57,040 –> 00:03:00,080
83
00:03:00,080 –> 00:03:01,360
84
00:03:01,360 –> 00:03:03,599
خوب است من قصد دارم چند
85
00:03:03,599 –> 00:03:04,800
متغیر
86
00:03:04,800 –> 00:03:08,879
در بالا ایجاد کنم که کلید api من است
87
00:03:08,879 –> 00:03:12,319
که آدرس ایمیل من است
88
00:03:12,319 –> 00:03:16,319
که رمز عبور من است
89
00:03:16,319 –> 00:03:19,680
و بنابراین می خواهم آنها را در اینجا
90
00:03:19,680 –> 00:03:22,720
کپی کنم آن را در اینجا کپی کنید و سپس می روم
91
00:03:22,720 –> 00:03:25,120
برگرد و بگو این پاس است کلمه
92
00:03:25,120 –> 00:03:28,400
این آدرس ایمیل است و این
93
00:03:28,400 –> 00:03:30,959
کلید api است. یکی از مواردی که در اینجا باید به آن توجه کنید این است که
94
00:03:30,959 –> 00:03:32,560
حتی اگر این رنگ تغییر کرده است،
95
00:03:32,560 –> 00:03:34,000
در واقع درست نیست،
96
00:03:34,000 –> 00:03:35,920
کاری که باید انجام دهیم این است که به اینجا برویم و
97
00:03:35,920 –> 00:03:37,200
آن را به رشته f تبدیل کنیم،
98
00:03:37,200 –> 00:03:39,440
اگر با آن آشنایی ندارید.
99
00:03:39,440 –> 00:03:40,879
رشته های f آنها به نوعی مانند
100
00:03:40,879 –> 00:03:43,840
پر کردن رشته های خالی پایتون هستند، بنابراین
101
00:03:43,840 –> 00:03:45,360
این همان کاری را
102
00:03:45,360 –> 00:03:46,000
انجام می دهد که قبلاً انجام می داد،
103
00:03:46,000 –> 00:03:48,319
جایی که فقط گفت: سلام، اینجا نحوه
104
00:03:48,319 –> 00:03:51,440
عملکرد کلید api است،
105
00:03:51,519 –> 00:03:54,799
بنابراین اگر این کد
106
00:03:54,799 –> 00:03:56,640
را اجرا کنم، چاپ می شود. آن url با
107
00:03:56,640 –> 00:03:57,920
کلید api
108
00:03:57,920 –> 00:03:59,840
و قرار است این اطلاعات ورود به سیستم
109
00:03:59,840 –> 00:04:01,200
را در اینجا
110
00:04:01,200 –> 00:04:04,239
با استفاده از آن متغیرها در بالا چاپ کند،
111
00:04:04,239 –> 00:04:07,599
اکنون کاری که باید انجام دهیم تا زمانی
112
00:04:07,599 –> 00:04:09,040
که کلید api
113
00:04:09,040 –> 00:04:11,599
آدرس ایمیل و رمز عبور را
114
00:04:11,599 –> 00:04:12,640
در داخل این
115
00:04:12,640 –> 00:04:15,840
فایل py داشته باشیم هنگام آپلود این فایل.
116
00:04:15,840 –> 00:04:18,399
فایل py به github همه
117
00:04:18,399 –> 00:04:20,079
میتوانند آن را ببینند
118
00:04:20,079 –> 00:04:23,600
آنچه که dot env به ما اجازه میدهد این است که آن را
119
00:04:23,600 –> 00:04:24,320
به
120
00:04:24,320 –> 00:04:27,360
یک فایل جداگانه منتقل کنیم و
121
00:04:27,360 –> 00:04:30,800
جالب است که نام فایل dot
122
00:04:30,800 –> 00:04:34,800
env um dot env است،
123
00:04:34,800 –> 00:04:36,479
بنابراین کاری که میخواهیم انجام دهیم این است که um وجود دارد.
124
00:04:36,479 –> 00:04:37,919
چند راه مختلف برای انجام این کار
125
00:04:37,919 –> 00:04:41,120
من دوست دارم درست c فایلهای جدید
126
00:04:41,120 –> 00:04:44,240
127
00:04:44,240 –> 00:04:46,560
را که با نقطه شروع
128
00:04:46,560 –> 00:04:49,440
میشوند مانند فایلهای مخفی یا خصوصی
129
00:04:49,440 –> 00:04:51,440
هستند و معمولاً در مرورگر فایل شما نمایش داده
130
00:04:51,440 –> 00:04:52,400
131
00:04:52,400 –> 00:04:54,400
نمیشوند و فقط سیگنالهای نقطهای هستند که
132
00:04:54,400 –> 00:04:55,600
133
00:04:55,600 –> 00:04:58,720
این فایل برای انسانهای فانی صرف نیست.
134
00:04:58,720 –> 00:04:59,840
این برای افرادی است که می دانند چه
135
00:04:59,840 –> 00:05:01,680
کاری انجام
136
00:05:01,680 –> 00:05:04,560
می دهند به طور جادویی باعث ناپدید شدن آن نمی شود،
137
00:05:04,560 –> 00:05:06,240
ما بعداً با آن برخورد خواهیم کرد، اما فقط
138
00:05:06,240 –> 00:05:07,600
بدانید که
139
00:05:07,600 –> 00:05:10,080
لزوماً هیچ چیز خاصی
140
00:05:10,080 –> 00:05:11,120
در مورد
141
00:05:11,120 –> 00:05:14,880
env یا dot emv وجود ندارد به جز اینکه این یک
142
00:05:14,880 –> 00:05:15,919
روش معمول برای گفتن
143
00:05:15,919 –> 00:05:19,280
این است یک نوع خاص از فایل،
144
00:05:19,280 –> 00:05:21,360
بنابراین کاری که ما می خواهیم انجام دهیم این است که
145
00:05:21,360 –> 00:05:22,400
146
00:05:22,400 –> 00:05:25,520
همه این اطلاعات را برداریم و
147
00:05:25,520 –> 00:05:26,240
آن را
148
00:05:26,240 –> 00:05:30,240
مستقیماً در فایل env قرار دهیم
149
00:05:30,240 –> 00:05:33,360
و من می خواهم بگویم سلام،
150
00:05:33,840 –> 00:05:36,960
کلید api من این است که آدرس ایمیل من است.
151
00:05:36,960 –> 00:05:37,520
این
152
00:05:37,520 –> 00:05:41,360
و رمز عبور من این است
153
00:05:41,360 –> 00:05:44,240
که اینجا خیلی
154
00:05:44,240 –> 00:05:44,800
ساده
155
00:05:44,800 –> 00:05:47,600
156
00:05:47,600 –> 00:05:49,120
157
00:05:49,120 –> 00:05:52,639
158
00:05:52,639 –> 00:05:55,600
159
00:05:55,600 –> 00:05:56,960
اتفاق نمی
160
00:05:56,960 –> 00:06:00,319
161
00:06:00,319 –> 00:06:03,360
افتد. برای انجام این کار
162
00:06:03,360 –> 00:06:04,960
باید بدانید که از طریق آن بخوانید
163
00:06:04,960 –> 00:06:07,199
مستندات را اینجا قرار دهید
164
00:06:07,199 –> 00:06:10,560
و این دو خط را اضافه کنید،
165
00:06:10,560 –> 00:06:11,919
من در واقع
166
00:06:11,919 –> 00:06:13,840
سه خط را اضافه می کنم، اما ما با این دو شروع می کنیم،
167
00:06:13,840 –> 00:06:16,000
168
00:06:16,000 –> 00:06:19,280
بنابراین کاری که این خطوط انجام می دهند این است
169
00:06:19,280 –> 00:06:22,319
که اولین مورد می گوید هی
170
00:06:22,319 –> 00:06:25,919
ام من می خواهم
171
00:06:25,919 –> 00:06:29,360
کتابخانه env um و این خط را درست بارگیری کنم. اینجا
172
00:06:29,360 –> 00:06:33,600
میگوید میخواهم فایل dot env را بارگیری کنید،
173
00:06:33,600 –> 00:06:36,319
بنابراین اگر کد را همینطور که هست اجرا کنیم
174
00:06:36,319 –> 00:06:37,600
175
00:06:37,600 –> 00:06:40,560
، واقعاً کاری انجام نمیدهیم،
176
00:06:40,560 –> 00:06:42,560
میدانید که کلید api من خالی است، ایمیل
177
00:06:42,560 –> 00:06:44,000
من خالی است.
178
00:06:44,000 –> 00:06:46,160
این
179
00:06:46,160 –> 00:06:47,759
متغیرها
180
00:06:47,759 –> 00:06:49,840
کاری که انجام داد این بود که چیزی
181
00:06:49,840 –> 00:06:51,680
به نام
182
00:06:51,680 –> 00:06:54,960
متغیرهای محیطی ایجاد کرد و متغیرهای محیطی
183
00:06:54,960 –> 00:06:55,280
184
00:06:55,280 –> 00:06:57,680
چه چیزهایی هستند که
185
00:06:57,680 –> 00:06:59,759
در رایانه شما شناور
186
00:06:59,759 –> 00:07:03,039
هستند که نمی دانم در همه جا قابل استفاده
187
00:07:03,039 –> 00:07:04,000
188
00:07:04,000 –> 00:07:05,919
هستند، آنها متغیرهایی هستند که شما انجام می دهید.
189
00:07:05,919 –> 00:07:07,599
در کد خود تنظیم کنید، آنها فقط چیزهایی هستند که
190
00:07:07,599 –> 00:07:08,880
رایانه شما
191
00:07:08,880 –> 00:07:12,240
می داند تا آنها را از رایانه شما دریافت کند تا با
192
00:07:12,240 –> 00:07:12,800
193
00:07:12,800 –> 00:07:14,479
رایانه شما صحبت کند، ما
194
00:07:14,479 –> 00:07:16,160
از سیستم عامل استفاده خواهیم کرد،
195
00:07:16,160 –> 00:07:21,599
بنابراین اگر به اینجا بروید می توانید بگویید اوه
196
00:07:21,840 –> 00:07:23,759
این همان چیزی است که در مورد
197
00:07:23,759 –> 00:07:26,080
کد برنامه شما در اینجا صحبت می کنید نرم افزاری که از
198
00:07:26,080 –> 00:07:28,800
متغیرهای محیطی به قدری متغیرهای مخفی
199
00:07:28,800 –> 00:07:30,240
استفاده می کند که رایانه شما
200
00:07:30,240 –> 00:07:33,440
فقط از آن مطلع است، به عنوان مثال
201
00:07:33,440 –> 00:07:36,479
یکی از رایج ترین آنها که
202
00:07:36,479 –> 00:07:38,479
رایانه شما در مورد آن می داند چیزی
203
00:07:38,479 –> 00:07:40,240
به
204
00:07:40,240 –> 00:07:43,680
نام مسیر است که مسیر همه پوشه های مختلف
205
00:07:43,680 –> 00:07:44,800
رایانه شما است