Admin المدير العام
وطني : الكويت تاريخ التسجيل : 20/07/2022 عدد المشاركات : 446 السٌّمعَة : 0 الجنس : نقاط : 1105 العمر : 94 المزاج : طبيعي العمل/الترفيه : كل شي
| موضوع: كود عند اي خلل لتعطيل القاعده البيانات من عطل فني او تخريب من مخترق الدرس السادس الإثنين يوليو 08, 2024 9:00 pm | |
| لإضافة طبقة إضافية من الأمان لقاعدة البيانات، يمكنك تنفيذ نظام تنبيه يقوم بإرسال بريد إلكتروني تنبيه إليك في حالة وقوع خلل فني أو محاولة تخريب من مهاجم. يمكن أيضًا تنفيذ إجراء لإيقاف تشغيل القاعدة في حالة طوارئ. إليك مثالًا بسيطًا باستخدام Python ومكتبة Flask و SendGrid لإرسال البريد الإلكتروني: قم بتثبيت SendGrid باستخدام الأمر التالي في الطرفية: نسخ الكود - اقتباس :
- pip install sendgrid
قم بتحديث ملف app.py الخاص بتطبيقك ليتضمن الكود التالي: python نسخ الكود - اقتباس :
- from flask import Flask, render_template, request, redirect, url_for
import sqlite3 import sendgrid from sendgrid.helpers.mail import Mail
app = Flask(__name__)
# تكوين قاعدة البيانات SQLite def create_db(): conn = sqlite3.connect('database.db') print("Opened database successfully")
conn.execute('CREATE TABLE IF NOT EXISTS entries (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)') print("Table created successfully")
conn.close()
create_db()
# إعداد SendGrid sg = sendgrid.SendGridAPIClient(api_key='YOUR_SENDGRID_API_KEY')
# الإعدادات للإرسال from_email = 'your-email@example.com' to_email = 'your-email@example.com'
# الصفحة الرئيسية @app.route('/') def index(): return render_template('index.html')
# إضافة بيانات جديدة @app.route('/add', methods=['POST']) def add(): if request.method == 'POST': name = request.form['name']
# إضافة البيانات إلى قاعدة البيانات conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute('INSERT INTO entries (name) VALUES (?)', (name,)) conn.commit() conn.close()
return redirect(url_for('index'))
# تنبيه في حالة وجود خلل def send_alert(): message = Mail( from_email=from_email, to_emails=to_email, subject='تنبيه: هناك خلل في قاعدة البيانات', html_content='<strong>تنبيه: هناك خلل في قاعدة البيانات.</strong>') try: response = sg.send(message) print(response.status_code) print(response.body) print(response.headers) except Exception as e: print(str(e))
if __name__ == '__main__': app.run(debug=True)
قم بتحديث المتغيرات from_email و to_email بعناوين البريد الإلكتروني الخاصة بك. بهذا الشكل، عند حدوث خلل في قاعدة البيانات، سيتم إرسال بريد إلكتروني تنبيه إليك. يمكنك تنفيذ المزيد من الإجراءات مثل إيقاف تشغيل قاعدة البيانات أو تنفيذ إجراءات أمان إضافية حسب الحاجة. يجب ملاحظة أن هذا المثال يعتبر بسيطًا وتحتاج إلى مزيد من التكوين والتحسين لتناسب احتياجاتك وتطلبات الأمان الخاصة بك استقسار سريع والرد كان : عذرًا على الالتباس، أقصد أن الكود الذي قدمته يستخدم مكتبة SendGrid لإرسال رسائل البريد الإلكتروني. عند حدوث خلل في قاعدة البيانات، يتم استدعاء دالة send_alert() التي تقوم بإرسال بريد إلكتروني تنبيه إليك. يمكنك تكوين هذا البريد بالطريقة التي تراها مناسبة، مثلاً يمكنك أن تضيف روابط لتسجيل الدخول آمنة لإجراءات الصيانة أو التحقق من الحالة. كل ذلك يعتمد على احتياجاتك الخاصة وكيفية تنظيم إجراءات الأمان في تطبيقك | |
|