الدرس الرابع عشر: الأمان في PHP (Security in PHP)
الأمان في تطوير تطبيقات PHP مهم جدًا ل حماية البيانات والمستخدمين. في الدرس ده، هنتناول مجموعة من أفضل الممارسات ل حماية تطبيقاتك من الثغرات والهجمات.
1. أهمية الأمان في تطبيقات PHP
كل التطبيقات عرضة للهجمات، سواء كانت SQL Injection، XSS، أو CSRF. لذلك، يجب علينا أن نكون واعيين لمخاطر الأمان ونطبق إجراءات ال حماية المناسبة.
2. ال حماية من SQL Injection
SQL Injection هي واحدة من أشهر أنواع الهجمات. المهاجمين يقوموا بإدخال أوامر SQL ضارة عبر المدخلات. لتجنب ذلك، استخدم Prepared Statements
.
مثال: استخدام Prepared Statements
$conn = new mysqli("localhost", "username", "password", "database"); // إعداد استعلام محضر $stmt = $conn->prepare("SELECT * FROM users WHERE username = ?"); $stmt->bind_param("s", $username); $username = $_POST['username']; $stmt->execute(); $result = $stmt->get_result();
3. ال حماية من Cross-Site Scripting (XSS)
XSS هجوم يتيح للمهاجمين إدخال نصوص ضارة في صفحات الويب. لتجنب ذلك، يجب تطهير المدخلات قبل عرضها.
مثال: تطهير المدخلات باستخدام htmlspecialchars()
$user_input = $_POST['user_input']; $safe_output = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8'); echo $safe_output; // يطهر المدخلات
4. ال حماية من Cross-Site Request Forgery (CSRF)
CSRF هو نوع من الهجمات اللي يخلي المستخدم ينفذ عمليات دون علمه. استخدم رموز CSRF للتحقق من الطلبات المرسلة.
مثال: استخدام رموز CSRF
session_start(); if (empty($_SESSION['csrf_token'])) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } $csrf_token = $_SESSION['csrf_token']; // في النموذج echo '<input type="hidden" name="csrf_token" value="'.$csrf_token.'">';
5. استخدام HTTPS
استخدم HTTPS بدلاً من HTTP لتأمين البيانات المرسلة بين المستخدم والخادم. هذا يحمي من هجمات مثل Man-in-the-Middle.
الملخص
- الأمان في PHP مهم جدًا لحماية تطبيقاتك وبيانات المستخدمين.
- استخدم
Prepared Statements
لتجنب SQL Injection، وhtmlspecialchars()
لتطهير المدخلات من XSS. - قم باستخدام رموز CSRF لحماية التطبيقات من CSRF، ويفضل استخدام HTTPS لتأمين البيانات.
في الدرس الجاي، هنتناول كيفية استخدام إطار العمل (Framework) في PHP، وفوايده في تسريع عملية التطوير وتحسين الأمان.