Останні пвідомленн

#1
Python / Python Словник Практикалары: Т...
Останй допис від Ruyag - Квт. 02, 2025, 11:30 AM

Python-дағы сөздіктер (dictionaries) — деректерді тиімді басқаруға мүмкіндік беретін ең маңызды құралдардың бірі. Олар "кілт-мағына" (key-value) жұптары түрінде деректерді сақтайды және әсіресе жылдам іздеу, өзгерту немесе қосу операциялары үшін қолданылады. Бұл мақалада Python сөздіктерімен жұмыс істеудің практикалық әдістері, код үлгілері және SEO-ға сәйкес құрылымдалған ақпарат ұсынылады. Егер сіз Python-ды үйреніп жатсаңыз немесе біліміңізді тереңдеткіңіз келсе, бұл нұсқаулық сізге арналған!

Python Словниктері Дегеніміз Не?
Python-дағы сөздік — бұл ретсіз, өзгермелі және кілттер арқылы индекстелген деректер құрылымы. Ол жақшалар {} ішінде жазылады және әр кілт өзінің мәнімен байланысты болады. Мысалы:

user = {"аты": "Олена", "жасы": 25, "қала": "Київ"}
print(user)
# Нәтиже: {'аты': 'Олена', 'жасы': 25, 'қала': 'Київ'}



Python Словниктерімен Жұмыс Істеудің Практикалық Әдістері
1. Словник Жасау және Элементтерді Қосу
Сөздікті бос күйде жасап, кейін элементтерді қосуға болады.

# Бос словник
my_dict = {}

# Элемент қосу
my_dict["аты"] = "Іван"
my_dict["жасы"] = 30
print(my_dict)
# Нәтиже: {'аты': 'Іван', 'жасы': 30}



2. Мәндерді Алу
Кілт арқылы мәнді алу үшін жақшалар [] немесе get() әдісі қолданылады.

user = {"аты": "Марія", "email": "[email protected]"}
print(user["аты"])  # Нәтиже: Марія
print(user.get("email"))  # Нәтиже: [email protected]

# Егер кілт жоқ болса, get() әдепкі мәнді қайтарады
print(user.get("телефон", "Белгісіз"))  # Нәтиже: Белгісіз



3. Элементтерді Жою
pop(), del немесе clear() әдістері арқылы элементтерді жоюға болады.

data = {"аты": "Олег", "жасы": 28, "қала": "Львів"}

# Бір элементті жою
data.pop("жасы")
print(data)  # Нәтиже: {'аты': 'Олег', 'қала': 'Львів'}

# Кілт арқылы жою
del data["қала"]
print(data)  # Нәтиже: {'аты': 'Олег'}

# Барлығын тазалау
data.clear()
print(data)  # Нәтиже: {}



4. Словникті Айналып Өту
for циклы арқылы кілттерді, мәндерді немесе екеуін де айналып өтуге болады.

student = {"аты": "Анна", "сынып": "10", "баға": 95}

# Кілттерді шығару
for key in student.keys():
    print(key)  # аты, сынып, баға

# Мәндерді шығару
for value in student.values():
    print(value)  # Анна, 10, 95

# Кілт-мағына жұптары
for key, value in student.items():
    print(f"{key}: {value}")
    # Нәтиже:
    # аты: Анна
    # сынып: 10
    # баға: 95



5. Ішкі Словниктер
Сөздіктерді ішкі құрылымдар ретінде пайдалануға болады.

users = {
    "user1": {"аты": "Тарас", "жасы": 22},
    "user2": {"аты": "Софія", "жасы": 19}
}

print(users["user1"]["аты"])  # Нәтиже: Тарас



Практикалық Жаттығу: Словникпен Жұмыс
Төменде пайдаланушыдан деректерді қабылдап, оларды сөздікке сақтайтын қарапайым мысал берілген:

# Бос словник
people = {}

while True:
    name = input("Атыңызды енгізіңіз (тоқтату үшін 'exit' жазыңыз): ")
    if name == "exit":
        break
    age = int(input("Жасыңызды енгізіңіз: "))
    people[name] = age

print("Сақталған деректер:", people)


Бұл код пайдаланушыдан аты мен жасын сұрайды және оларды сөздікке қосады.

Неліктен Python Словниктері Маңызды?
  • Жылдамдық: Кілт арқылы деректерді іздеу өте тез.
  • Икемділік: Кез келген деректер түрін (сандар, жолдар, тізімдер) сақтауға болады.
  • SEO артықшылығы: Python-ды тиімді қолдану бойынша сапалы контент іздеу жүйелерінде жоғары орын алады.

Қорытынды
Python сөздіктері — бағдарламалаудағы әмбебап құрал. Оларды дұрыс қолдану арқылы деректерді тиімді басқаруға және күрделі жобаларды оңай шешуге болады. Жоғарыдағы код үлгілері мен практикалар сізге Python-ды тереңірек түсінуге көмектеседі. Егер сіз Python сөздіктері туралы көбірек білгіңіз келсе, осы тақырыпты зерттеуді жалғастырыңыз!
#2
Php / PHP Формасының Қауіпсіздігін Қ...
Останй допис від Ruyag - Квт. 02, 2025, 11:26 AM

PHP веб-қосымшаларды әзірлеуде кеңінен қолданылатын тіл болғандықтан, формалар арқылы деректерді қауіпсіз өңдеу өте маңызды. Формаларды дұрыс қорғамау XSS (Cross-Site Scripting), SQL инъекциясы немесе CSRF (Cross-Site Request Forgery) сияқты қауіптерге әкелуі мүмкін. Бұл мақалада PHP формаларының қауіпсіздігін қамтамасыз ету жолдары, практикалық кеңестер және код үлгілері SEO-ға сәйкес және түсінікті түрде ұсынылады.

Неліктен PHP Формасының Қауіпсіздігі Маңызды?
Веб-сайттардағы формалар пайдаланушылардан ақпарат жинау үшін қолданылады: логиндер, парольдер, электрондық пошта мекенжайлары және т.б. Егер қауіпсіздік шаралары қолданылмаса, зиянкестер осы деректерді ұрлап, жүйеге зиян келтіруі мүмкін. PHP формасының қауіпсіздігін қамтамасыз ету арқылы сіз:
  • Пайдаланушы деректерін қорғайсыз.
  • Сайтыңыздың сенімділігін арттырасыз.
  • Google сияқты іздеу жүйелерінде жақсы рейтингке ие боласыз, өйткені қауіпсіз сайттарға басымдық беріледі.

PHP Формасының Қауіпсіздігін Қамтамасыз Етудің Негізгі Қадамдары
1. Деректерді Тексеру және Фильтрлеу
Пайдаланушы енгізген деректерді серверге жібермес бұрын тексеру керек. PHP-да filter_var() функциясы бұл үшін өте қолайлы.

<?php
$email 
$_POST['email'];
if (
filter_var($emailFILTER_VALIDATE_EMAIL)) {
    echo 
"Енгізілген email дұрыс: " htmlspecialchars($email);
} else {
    echo 
"Қате email форматы!";
}
?>


Жоғарыдағы кодта filter_var() электрондық поштаның дұрыстығын тексереді, ал htmlspecialchars() XSS шабуылдарын болдырмау үшін арнайы символдарды кодтайды.

2. SQL Инъекциясынан Қорғау
Егер форма деректері дерекқорға жіберілсе, SQL инъекциясынан қорғану үшін дайындалған мәлімдемелерді (prepared statements) қолданыңыз.

<?php
$stmt 
$pdo->prepare("INSERT INTO users (username, email) VALUES (:username, :email)");
$stmt->bindParam(':username'$_POST['username']);
$stmt->bindParam(':email'$_POST['email']);
$stmt->execute();
echo 
"Деректер сәтті сақталды!";
?>


PDO немесе MySQLi сияқты құралдармен дайындалған мәлімдемелер зиянды SQL кодының орындалуын болдырмайды.

3. CSRF Қорғанысы
CSRF шабуылдарына қарсы формаға бірегей токен қосу керек. Токенді тексеру арқылы тек шынайы сұраулар қабылданады.

<?php
session_start
();
$token bin2hex(random_bytes(32));
$_SESSION['csrf_token'] = $token;
?>


<form method="POST">
    <input type="hidden" name="csrf_token" value="<?php echo $token?>">
    <input type="text" name="username">
    <input type="submit" value="Жіберу">
</form>

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (
$_POST['csrf_token'] === $_SESSION['csrf_token']) {
        echo 
"Сұрау расталды!";
    } else {
        echo 
"CSRF токені қате!";
    }
}
?>



4. XSS Шабуылдарынан Қорғау
Пайдаланушы енгізген деректерді шығармас бұрын оларды тазалау керек. htmlspecialchars() функциясы бұл үшін тиімді.

<?php
$input 
"<script>alert('XSS');</script>";
$safe_output htmlspecialchars($inputENT_QUOTES'UTF-8');
echo 
$safe_output// <script>alert('XSS');</script> ретінде шығады, бірақ орындалмайды
?>



5. Файл Жүктеу Қауіпсіздігі
Егер форма файл жүктеуге мүмкіндік берсе, файл түрін және өлшемін тексеріңіз.

<?php
if (isset($_FILES['userfile'])) {
    
$allowed = ['jpg''png''pdf'];
    
$ext pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
    if (
in_array($ext$allowed) && $_FILES['userfile']['size'] < 2000000) {
        
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/' $_FILES['userfile']['name']);
        echo 
"Файл сәтті жүктелді!";
    } else {
        echo 
"Рұқсат етілмеген файл немесе өлшемі тым үлкен!";
    }
}
?>



Қосымша Кеңестер
  • HTTPS қолданыңыз: Деректерді шифрлау үшін сайтыңызда SSL сертификатын орнатыңыз.
  • Шектеулі рұқсаттар: Дерекқор пайдаланушысына тек қажетті рұқсаттарды беріңіз.
  • Журнал жүргізу: Сұрауларды бақылау үшін логтар сақтаңыз.

Қорытынды
PHP формасының қауіпсіздігін қамтамасыз ету веб-әзірлеудің маңызды бөлігі. Жоғарыда келтірілген әдістер мен код үлгілері арқылы сіз сайтыңызды сенімді және қауіпсіз ете аласыз. Бұл шаралар сонымен қатар SEO-ны жақсартады, өйткені Google қауіпсіз сайттарды жоғары бағалайды. Егер сізге қосымша сұрақтар туындаса, PHP қауіпсіздігі бойынша тереңірек ақпарат алуға болады!
#3
Php / Різні умовні оператори в PHP (...
Останй допис від Ruyag - Жовт. 21, 2024, 12:58 PM
#4
Php / Що таке арифметичні оператори ...
Останй допис від Ruyag - Жовт. 21, 2024, 12:58 PM
#5
Html / Заміна зображення (Урок з віде...
Останй допис від Ruyag - Жовт. 21, 2024, 12:50 PM
#6
Html / HTML / CSS: Ідентифікатори та ...
Останй допис від Ruyag - Жовт. 21, 2024, 12:49 PM
#7
Flutter / Flutter: Інструкції з управлін...
Останй допис від Ruyag - Жовт. 21, 2024, 12:48 PM
#8
Flutter / Як опублікувати пакет Flutter ...
Останй допис від Ruyag - Жовт. 21, 2024, 12:47 PM
#9
Matlab / Базові обчислення з комплексни...
Останй допис від Ruyag - Жовт. 21, 2024, 12:45 PM
#10
Matlab / Matlab: Тригонометричні функці...
Останй допис від Ruyag - Жовт. 21, 2024, 12:45 PM