← Python bilan avtomatlashtirish
MODUL 03 / DARS 01

Fayllar, pathlib va xavfsiz yo‘llar

Fayl yo‘li bilan ishlashdagi ishonch chegarasini biling.

45 daqiqa Python 3

Fayl bilan tartibli ishlash

Lokal skriptda with open(path, encoding="utf-8") as f faylni xatoda ham yopadi. Katta logni birdan read() qilish o‘rniga qatorlab o‘qing. Matn va ikkilik rejimni ajrating; rasm yoki hash uchun rb kerak.

Yo‘l va path traversal

Foydalanuvchi bergan ../ baza katalogidan chiqishi mumkin. Serverda haqiqiy Path.resolve() bilan yo‘lni normallashtirib, bazaga tegishliligini tekshirish kerak. Quyidagi PurePosixPath misoli faqat sintaktik tahlil; symlink va haqiqiy filesystem himoyasini to‘liq bajarmaydi.

Resurs chegaralari

Fayl hajmiga limit qo‘ying, nomni server tanlasin va muhim faylni ustidan yozmang. Brauzer muhiti virtual fayl tizimiga ega; hostdagi /etc yoki ishchi papkangizga kira olmaydi. O‘quv ma’lumoti sifatida maxsus fixture yarating.

Python’da ko‘rib chiqamiz

from pathlib import PurePosixPath
names = ["reports/day.txt", "../secret.txt", "logs/auth.txt"]
safe = [name for name in names if ".." not in PurePosixPath(name).parts]
print(len(safe))

Misolni

Mustaqil mashq

Lokal vaqtinchalik katalog yarating. Path.resolve va is_relative_to yordamida katalogdan chiqishni tekshiring. Oddiy fayl, ../ va symlink holatlarini alohida sinang.

Chuqurroq o‘rganing

Rasmiy hujjatni ochish ↗
O‘QING → O‘ZGARTIRING → SINANG

Python ish maydoni

.py

Kod brauzeringizda Web Worker orqali bajariladi. Serverga yuborilmaydi. Standart kutubxona bilan ishlang; lokal shell va host fayllari mavjud emas.

● ● ●fayl-va-path.pyPython 3.14
Muhit ishga tushirishda yuklanadi
NATIJA
Kod natijasi shu yerda ko‘rinadi.
JAVOBI TEKSHIRILADIGAN TOPSHIRIQ

Natijani tahlil qiling

Sintaktik filtr nechta yo‘lni qoldiradi?

Yordamchi ishora

../secret.txt chiqariladi.

Python misolini hisobsiz ham bajara olasiz. Javobni tekshirish va natijani saqlash uchun hisobga kiring.

Hisobga kirish

Bu tekshiruv javob mosligini baholaydi. Mustaqil mashq va loyiha sifatini dars mezonlari bilan alohida tekshiring.

BILIMINGIZNI MUSTAHKAMLANG

Dars testi

To‘g‘ri javob bering. Qayta urinish mumkin; eng yaxshi natijangiz saqlanadi.

1. PurePath bilan tekshirish symlink xavfini to‘liq hal qiladimi?
Test uchun hisobga kirish
O‘Z SO‘ZINGIZ BILAN YOZING

Shaxsiy konspekt

Tushunganlaringiz, savollaringiz va keyingi amaliyotingiz. Parol yoki token yozmang.

Konspekt uchun hisobga kirish