Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...

<none>

Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
1 + 1 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

أخبار تكنلوجيا

رقم الخبر عنوان الخبر التفاصيل
73,053 استخدام عناصر التحكم بالنماذج ونافذة فتح الملفات من خلال الماكرو في ليبر أوفيس

سنستخدم عناصر تحكم بالنماذج Controls -مثل الأزرار ومربعات النصوص- ونافذة فتح الملفات ضمن جدول بيانات ليبر أوفيس كالك LibreOffice Calc، وسنسند لها ماكرو، حيث سنعطي أمثلة بسيطة توضّح الأساسيات ولكن يمكنك تطويرها لتشمل احتياجاتك المختلفة.

هذا المقال جزء من سلسلة مقالات حول إنشاء ماكرو في ليبر أوفيس كالك، فهرس السلسلة:

إضافة زر إلى جدول بيانات كالك

انتقل إلى قائمة عرض View ثم أشرطة الأدوات Toolbars ثم عناصر التحكم بالنموذج Form Controls، حيث يتكون عنصر التحكم بالنموذج من عناصر تحكم متعددة وزر تبديل لوضع التصميم وغير ذلك.

سنضيف الآن زرًا إلى جدول بيانات كالك باستخدام عنصر تحكم الزر. لنكتب برنامجًا بسيطًا بلغة بيسك Basic قبل أن نسند أيّ ماكرو له، حيث سيُنفَّذ هذا البرنامج البسيط عند الضغط على الزر.

إليك البرنامج المُنفَّذ عند النقر على الزر:

Sub hello_world Dim my_doc as object Dim my_sheets as object Dim my_cell as object my_doc = ThisComponent my_sheets = my_doc.Sheets my_cell = ThisComponent.Sheets(0).getCellByPosition(2,2) my_cell.String = "A string populated by a button!" Msgbox "~~~ Welcome ~~~" & chr(13) & "LibreOffice Form Controls Demo",,"DebugPoint.com" End Sub

ارجع إلى جدول بيانات كالك وحدّد الزر بعد أن يصبح البرنامج جاهزًا. انقر على زر "عناصر التحكم Controls" في شريط أدوات عناصر التحكم بالنموذج، أو يمكنك النقر بزر الفأرة الأيمن على الزر ثم النقر على عناصر التحكم Controls من قائمة السياق، ثم ستفتح نافذة خصائص الزر.

إسناد ماكرو إلى الزر

انقر على الزر الصغير بجوار العنوان "تنفيذ الإجراء Execute action"، حيث ستفتح نافذة جديدة هي "إسناد الإجراء Assign Action". اختر "تنفيذ الإجراء" وانقر على الزر "ماكرو Macro" لتحديد ماكرو.

اختر الآن الماكرو الذي تريد تنفيذه (وهو "hello world" في مثالنا) وانقر على "موافق".

سيظهر الماكرو المختار في نافذة "إسناد الإجراء" عند تحديده، ثم انقر على "موافق" للعودة إلى جدول البيانات.

تشغيل الماكرو

حان الوقت الآن لتشغيل شيفرة الماكرو، ولكن يجب قبل ذلك إيقاف تشغيل وضع التصميم Design Mode بالنقر على زر "تشغيل / إيقاف تشغيل وضع التصميم Design Mode On/Off" في شريط أدوات عناصر تحكم النموذج، ثم انقر على الزر وشاهد النتيجة.

يمكنك باستخدام هذه الطريقة إسناد ماكرو بسرعة إلى عناصر التحكم وأتمتة المهام المختلفة في ليبر أوفيس.

إدراج وقراءة النص في عنصر تحكم مربع النص TextField

سنوضّح كيفية تهيئة سلسلة نصية وإدراجها في وقت التشغيل، وقراءتها من عنصر التحكم TextField باستخدام ماكرو مكتوب بلغة بيسك Basic.

كيفية إضافة عنصر TextField إلى نافذة

انقر على الرمز التالي واسحبه إلى نافذة جديدة لإضافة عنصر TextField:

كيفية قراءة نص من عنصر TextField

استخدم الدالة getText()‎ لقراءة نص من عنصر TextField، حيث ستعيد هذه الدالة النص المُدخَل كسلسلة نصية من عنصر TextField.

إليك المثال التالي:

oTextField = oDialog1.getControl("TextField1") Msgbox oTextField.getText()

كيفية إدراج أو تحديث نص في عنصر TextField

استخدم الدالة setText()‎ لتحديث محتويات عنصر TextField أثناء وقت التشغيل.

إليك المثال التالي:

oTextField = oDialog1.getControl("TextField1") oTextField.setText("Hello World!!!")

كيفية تهيئة نص افتراضيًا في عنصر TextField

هناك طريقتان يمكنك استخدامهما لتهيئة نص افتراضيًا في عنصر TextField. يمكنك تهيئة أي نص افتراضيًا لعنصر TextField أثناء التصميم باستخدام الخاصية Text، حيث يمكنك كتابة أيّ شيء تريده في الخاصية Text وستُملَأ في TextBox. الخيار الثاني هو استخدام الدالة setText()‎ أثناء تحميل النافذة باستخدام عناصر التحكم الخاصة بها.

خاصية TextField الافتراضية Text

شيفرة الماكرو الكاملة

انسخ والصق الشيفرة التالية في محرّر الماكرو ضمن ليبر أوفيس، وأنشئ نافذة بها زر ومربع نص، ثم أسند الدالة test()‎ إلى حدث نقر الزر.

قراءة النص:

Dim oDialog1 As Object Sub StartDialog1() BasicLibraries.LoadLibrary("Tools") oDialog1 = LoadDialog("Standard", "Dialog1") oDialog1.Execute() End Sub Sub test() oTextField = oDialog1.getControl("TextField1") Msgbox oTextField.getText() End Sub

ضبط النص:

Dim oDialog1 As Object Sub StartDialog1() BasicLibraries.LoadLibrary("Tools") oDialog1 = LoadDialog("Standard", "Dialog1") oDialog1.Execute() End Sub Sub test() oTextField = oDialog1.getControl("TextField1") oTextField.setText("Hello World!!!") End Sub استخدام نافذة فتح ملف من خلال ماكرو

سنوضّح فيما يلي كيفية فتح نافذة اختيار ملف في ليبر أوفيس LibreOffice وأوبن أوفيس OpenOffice باستخدام ماكرو.

تُستخَدم نافذة اختيار ملف لتحديد ملف أو ملفات في عمليات الأتمتة المختلفة مثل فتح مصنف أوبن أوفيس OpenOffice أو ليبر أوفيس LibreOffice أو مثل استيراد ملف نصي أو ملف csv وما إلى ذلك.

إنشاء الكائنات

لنعرّف دالة يمكن أن يستخدمها أيّ ماكرو لفتح نافذة منتقي الملفات.

Function open_file() As String ' open file picker dialog here and return the path of the chosen file End Function

استخدم خدمة FilePicker الخاصة بوحدة com.sun.star.ui.dialogs وخدمة SimpleFileAccess الخاصة بالوحدة com.sun.star.ucb لفتح نافذة اختيار ملف، حيث ستوفر هاتان الخدمتان المقابض اللازمة لفتحها.

صرّح وأنشئ كائنين لهذه الخدمات كما يلي:

Dim file_dialog as Object Dim ucb as object GlobalScope.BasicLibraries.LoadLibrary("Tools") file_dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker") ucb = createUnoService("com.sun.star.ucb.SimpleFileAccess")

يوفر الكائن ucb -اختصارًا إلى Universal Content Broker- طريقة للوصول إلى محتويات متنوعة عبر UCP (مزوّدو المحتوى العالمي Universal Content Providers).

تنسيق النافذة

يجب تقديم بعض المعلومات قبل فتح نافذة منتقي الملفات مثل أنواع الملفات أو الامتدادات (‎.jpg و ‎.png وغير ذلك) التي ستكون متاحة بوصفها مرشّحات Filters، ويجب ضبط المجلد الافتراضي لتحديده عند تنفيذ النافذة.

عرّف مصفوفة تحتوي على امتدادات الملفات التي يجب تحميلها في قائمة النوع المنسدلة، ثم مرّرها إلى الدالة AddFiltersToDialog باستخدام كائن dialog.

Dim filterNames(3) as String filterNames(0) = "*.*" filterNames(1) = "*.png" filterNames(2) = "*.jpg" AddFiltersToDialog(FilterNames(), file_dialog)

استخدم الدالة SetDisplayDirectory مع كائن dialog لضبط المجلد الافتراضي الذي ستفتحه النافذة. تحوّل الدالة ConvertToUrl مسار لينكس إلى مسار نظام ملفات مثل المسار ‎/usr الذي يُحوَّل إلى file:///usr.

init_path = ConvertToUrl("/usr") If ucb.Exists(init_path) Then file_dialog.SetDisplayDirectory(init_path) End If فتح النافذة

افتح نافذة اختيار الملف لإعادة اسم الملف، حيث ستفتح نافذة اختيار الملف عند تنفيذ الدالة Execute الخاصة بنافذة الملف، حيث تعيد هذه الدالة قيمتين هما 0 و 1 بناءً على إجراءات المستخدم. إذا اخترتَ ملفًا وضغطت على "موافق OK"، فستُعاد القيمة 1، وإذا ضغطت على "إلغاء CANCEL"، فستُعاد القيمة 0، وإذا حدّد المستخدم ملفًا أو ملفات متعددة، فستُعاد مصفوفة. لنحدّد في مثالنا ملفًا واحدًا ونعيد اسم الملف.

أخيرًا، نفّذ الدالة Dispose لتحرير جميع الموارد.

open_status = file_dialog.Execute() If open_status = 1 Then file_path = file_dialog.Files(0) open_file = file_path End If file_dialog.Dispose()

استدعِ بعد ذلك الدالة open_file()‎ من إجراء آخر، ولنعرض مسار الملف الُمحدَّد في مربع رسالة.

Sub pick_a_file() Dim fName As String fName = open_file() MsgBox fName & chr(10) & ConvertFromUrl(fName) End Sub تشغيل الشيفرة

إذا شغّلت الدالة pick_a_file()‎، فيمكنك رؤية النافذة ومربع الرسالة مع مسار الملف المُحدَّد.

فتح نافذة تحديد ملف باستخدام ماكرو

خرج فتح ملف

شيفرة الماكرو الكاملة Sub pick_a_file() Dim fName As String fName = open_file() MsgBox fName & chr(10) & ConvertFromUrl(fName) End Sub Function open_file() as String Dim file_dialog as Object Dim status as Integer Dim file_path as String Dim init_path as String Dim ucb as object Dim filterNames(3) as String filterNames(0) = "*.*" filterNames(1) = "*.png" filterNames(2) = "*.jpg" GlobalScope.BasicLibraries.LoadLibrary("Tools") file_dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker") ucb = createUnoService("com.sun.star.ucb.SimpleFileAccess") AddFiltersToDialog(FilterNames(), file_dialog) 'Set your initial path here! init_path = ConvertToUrl("/usr") If ucb.Exists(init_path) Then file_dialog.SetDisplayDirectory(init_path) End If status = file_dialog.Execute() If status = 1 Then file_path = file_dialog.Files(0) open_file = file_path End If file_dialog.Dispose() End Function اختيار ملفات متعددة

لنعدّل الماكرو السابق قليلًا بحيث يعيد قائمة أسماء الملفات (المسار الكامل) المُحدَّدة. الاختلاف الوحيد هو أن الدالة معرَّفة بوصفها متغيرًا Variant واستخدام خاصية نافذة الملف file_dialog.setMultiSelectionMode(True)‎ والدالة file_dialog.getSelectedFiles()‎.

توضّح الشيفرة التالية شيفرة ماكرو كاملة لاختيار ملفات متعددة والحصول على أسمائها:

Sub pick_a_file() Dim fName() As Variant fName = open_file() for i = 0 to Ubound(fName) str1 = str1 & fName(i) & chr(10) next MsgBox str1 End Sub Function open_file() as Variant Dim file_dialog as Object Dim status as Integer Dim init_path as String Dim ucb as object Dim filterNames(3) as String filterNames(0) = "*.*" filterNames(1) = "*.png" filterNames(2) = "*.jpg" GlobalScope.BasicLibraries.LoadLibrary("Tools") file_dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker") ucb = createUnoService("com.sun.star.ucb.SimpleFileAccess") AddFiltersToDialog(FilterNames(), file_dialog) 'Set your initial path here! init_path = ConvertToUrl("/usr") file_dialog.setMultiSelectionMode(True) If ucb.Exists(init_path) Then file_dialog.SetDisplayDirectory(init_path) End If status = file_dialog.Execute() If status = 1 Then file_path = file_dialog.getSelectedFiles() open_file = file_path End If file_dialog.Dispose() End Function

ترجمة -وبتصرُّف- للمقالات Using Form Controls in LibreOffice Macro و Use Open File Dialog using Macro in LibreOffice/OpenOffice و Insert and Read Text in TextField Control Using LibreOffice Basic Macro لصاحبها Arindam.

اقرأ أيضًا
73,008 "العربية" تسمعها الآن على خدمة أليكسا الصوتية

أعلن مدير عام شبكة "العربية" الإخبارية، ممدوح المهيني، أنه تم الاتفاق مع خدمة أليكسا على أن تكون "العربية" هي الصوت الإخباري لها باللغة العربية.

وقال المهيني "إن مساعدتك الصوتية الافتراضية الذكية ستؤمن لك طلبك بمعرفة أهم الأخبار مستعينة بمذيع قناة "العربية"، لتعطيك نشرة موجزة ثرية بأحدث الأنباء الإقليمية والدولية".

وأضاف المهيني أن "أليكسا وقناة العربية اتفقتا على توفير الخدمة الصوتية للنشرات الإخبارية اليومية. كما قررت أليكسا توفير الأخبار باللغة العربية لزبائنها، مثل خدمة الأوامر الصوتية الأخرى لتشغيل الموسيقى، وتشغيل الكتب المسموعة، ومعلومات الطقس، وحركة المرور، والرياضة".

72,998 هل تراجعت أبل عن خصوصية أيفون؟

سمحت شركة أبل لمطوري التطبيقات بجمع البيانات من مستخدمي أيفون البالغ عددهم مليار مستخدم للإعلان المستهدف، في تحول غير معترف به يتيح للشركات اتباع تفسير أكثر مرونة لسياسة الخصوصية المثيرة للجدل.

وأبلغت الشركة في شهر مايو عن تغييرات خصوصيتها للجمهور. وأطلقت إعلانًا توضح من خلاله أنك إذا اخترت أيفون، فأنت تختار الخصوصية.

ولكن بعد سبعة أشهر، سُمح للشركات بما في ذلك سناب وميتا بالاستمرار في جمع بعض البيانات على مستوى المستخدم من أجهزة أيفون. وذلك طالما أن هذه البيانات مجهولة المصدر ومجمعة بدلاً من ربطها بحسابات مستخدمين محددة.

وعلى سبيل المثال، أخبرت سناب المستثمرين أنها تخطط لمشاركة البيانات من 306 ملايين مستخدم – بما في ذلك من أولئك الذين طلبوا منها عدم تعقبهم.

وبالمثل، قالت شيريل ساندبرج، رئيسة عمليات فيسبوك، إن ميتا تشارك في جهد متعدد السنوات لإعادة بناء البنية التحتية للإعلان باستخدام المزيد من البيانات المجمعة أو مجهولة المصدر.

وتشير هذه الشركات إلى أن أبل أخبرت المطورين أنه لا يجوز لهم استمداد بيانات من جهاز بغرض التعرف عليه بشكل منفرد.

وهذا يعني أنه بإمكانهم ملاحظة إشارات من أيفون على مستوى المجموعة. ويتيح ذلك إمكانية تخصيص الإعلانات للمجموعات المتوافقة مع سلوك معين. ولكن غير مرتبطة بمعرفات فريدة.

وأصبح هذا النوع من التتبع هو القاعدة. وليس من الواضح ما إذا كانت أبل قد وافقت على مثل هذه الحلول.

ولكن يبدو أن الشركة كانت مضطرة للتراجع عن القراءة الصارمة لقواعدها. وذلك لأن الاضطراب في النظام البيئي لإعلانات الأجهزة المحمولة كبير جدًا.

وبالنسبة لأي شخص يفسر قواعد الشركة بدقة، فإن هذه الحلول تخرق قواعد الخصوصية الموضوعة لمستخدمي نظام تشغيل أيفون iOS.

وقالت الشركات التي تجمع البيانات على مستوى المستخدم إن السبب وراء استمرار إرسال التطبيقات للمعلومات هو أن بعض التطبيقات تطلب مثل هذه المعلومات لكي تعمل.

ويجب أن يعرف المعلنون أشياء معينة مثل لغة المستخدم أو حجم شاشة الجهاز، وإلا فإن تجربة التطبيق لن تكون مناسبة.

ويكمن الخطر في أنه من خلال السماح باستخدام البيانات على مستوى المستخدم من قبل أطراف خارجية مبهمة ما دامت تتعهد بعدم إساءة استخدامها. فإن أبل تثق في نفس المجموعات التي انتقدها الرئيس التنفيذي للشركة تيم كوك.

72,955 كيفية إصلاح الخطأ Mixed Content في ووردبريس

يتطلب تشغيل أي موقع اليوم العمل على اتصال آمن بين الموقع والمستخدمين، ولتحقيق ذلك تُستخدم شهادات SSL التي تُوفرها مُعظم الاستضافات مجانًا عن طريق Let's Encrypt التي يُمكن تثبيتها بخطوات بسيطة، ولا تنتهي عملية تأمين الاتصال بتثبيت هذه الشهادة، حيث تواجه العديد من المواقع مُشكلة المحتوى المختلط Mixed Content عند ضبط شهادة SSL، ولحسن الحظ فهي ليست مشكلةً صعبة الحل، وسنريك في هذا المقال كيفية إصلاح الخطأ Mixed Content بسهولة في مواقع ووردبريس لتقدم اتصالًا آمنًا مئةً بالمئة لزوارك.

ما هو الخطأ Mixed Content في ووردبريس

يظهر هذا الخطأ عندما يُرسل موقعك بعض أجزاء الموقع للمتصفح باستخدام البروتوكول HTTPS والبعض الآخر باستخدام البروتوكول HTTP، ويُسبب هذا في بعض الأحيان اختفاء المحتوى المُختلط (قسم مُرسل بشكل آمن HTTPS وقسم مُرسل بشكل غير آمن HTTP)، وظهور موقعك كأنه مُعطل، وهذا سيئ لعدة أسباب.

السبب الأول أنّ جوجل يعاقب أي موقع غير آمن، ويُحذر المستخدمين عند دخولهم للموقع من احتمال وجود خطر عليهم، وعند استخدامك لمتصفح كروم، سوف يظهر لك تحذير أن الموقع يُحتمل أن يكون خطيرًا، والسبب الثاني أنّ جوجل وغيره من محركات البحث سوف يُعاقب الموقع من ناحية ترتيبه في نتائج البحث، وذلك لأنه يستخدم اتصالًا غير آمن ويُقدم تجربةً سيئةً للمستخدم، حيث لا تظهر بعض الأجزاء بسبب الخطأ Mixed Content.

أضف لما سبق أن أخطاء Mixed Content تؤثر لحد كبير على زمن تحميل الموقع، وتدفع هذه الأسباب مُجتمعةً محركات البحث والمُستخدمين لتجنب موقعك. إذًا كيف يُمكنك منع حدوث هذا والتخلص من هذا الخطأ؟

كيفية إصلاح الخطأ Mixed Content في ووردبريس باستخدام إضافة

يُعَد استخدام إضافة لإصلاح الخطأ Mixed Content أمرًا بسيطًا جدًا في ووردبريس، وسبب ذلك هو المرونة هو التي تتمتع بها المنصة، حيث تستطيع عمليًا إيجاد إضافة لحل أي مشكلة في ووردبريس، وكل ما عليك فعله هو معرفة أين وكيف تبحث. وهذا هو الحل الأفضل لمعظم المواقع لسهولة تثبيت وتفعيل أي إضافة.

يُفضل إلقاء نظرة على SSL Insecure Content Fixer المُطورة من قِبل WebAware، حيث يُمكن أن تُحل المشكلة بتثبيت وتفعيل الإضافة، حيث تُنفَّذ بضعة إصلاحات بسيطة ضمن موقعك باستخدام صلاحية الإصلاح البسيطة، وإن كنت بحاجة لأكثر من ذلك، فتمتلك الإضافة إعدادات متقدمةً تستطيع ضبطها حسب حاجتك لتأمين الموقع.

تستطيع إيجاد هذه الإعدادات ضمن تبويب SSL Insecure Content في قسم الإعدادات ضمن لوحة تحكم ووردبريس. لاحظ أن الخيار Simple مُفعل افتراضيًا.

يُساعد الخيار الافتراضي Simple على إصلاح الخطأ معظم الأحيان. وللتأكد من أنه يعمل، عليك اختبار سرعة الموقع باستخدام GT Metrix أو Pingdom، حيث يُوفر كلا الموقعين معلومات عن الخطأ Mixed Content، إضافةً إلى العديد من الأخطاء الأخرى والتوصيات لتسريع الموقع.

تساعد هذه الإضافة على إصلاح الكثير من الأخطاء باستخدام جميع الخيارات ما عدا Capture All حتى الآن، ومن خلال التجربة يمكنك ملاحظة أن إصلاح نداءات AJAX، سيُسبب تلقائيًا تعطل الموقع، لكن استطاعت كل من الخيارات الأخرى إصلاح المشاكل التي وجدتها المواقع السابقة.

المشكلة الأكبر عند استخدام إضافة SSL Insecure Content Fixer، هي أنه عند تعطيلها سوف تُعطل معها إصلاحات Mixed Content، فإن كان هذا الأمر يُعَد مشكلةً بالنسبة لك، فتابع القراءة للاطلاع على الحلول الأخرى.

كيفية إصلاح الخطأ Mixed Content يدويا في ووردبريس

يُشبه ووردبريس أي تطبيق ويب فهو عبارة عن قاعدة بيانات موجودة على خادم، فإن كانت محتويات قاعدة البيانات للروابط تتضمن HTTP والمتصفح يستدعي HTTPS، فسيظهر الخطأ Mixed Content، لكن لحسن الحظ توجد طرق سهلة تستطيع استخدامها لإصلاح هذا الخطأ يدويًا.

البحث والاستبدال في قاعدة بيانات ووردبريس

تتضمن هذه الخطوة إضافةً، لكن فقط لإنجاز مهمة البحث والاستبدال، وبالتالي تستطيع تعطيلها بعد الانتهاء من استخدامها. ابحث عن إضافة Better Search Replace ضمن مستودع ووردبريس.

سوف تجد بعد تفعيل الإضافة ضمن قسم الأدوات تبويبًا جديدًا هو Better Search Replace، وهنا سوف تبحث عن روابط غير آمنة من نطاقك، أي روابط تستخدم HTTP بدلًا من HTTPS، وذلك لتستبدلها بروابط آمنة تستخدم HTTPS. كل ما عليك فعله هو البحث عن http://yourdomain.com في مربع البحث، وإدخال https://yourdomain.com في مربع الاستبدال (2).

والآن عليك اختيار الجداول التي تريد تضمينها في البحث. في العادة يجب البحث في جميع الجداول، لذلك اضغط على أول جدول ضمن القائمة، ثم انتقل لأسفل القائمة واضغط على آخر جدول في القائمة مع الضغط على زر Shift، وذلك لتحديد جميع الجداول ضمن القائمة (3)، ويُفضل كذلك تفعيل الخيار Run as Dry Run، حيث يسمح ذلك للإضافة بتنفيذ عمليات البحث والاستبدال دون حفظ التغييرات، وسوف تقدم تقريرًا عن أي شيء تجده.

إن كانت النتائج التي عرضتها لك الإضافة مناسبةً لك، فعليك إلغاء تفعيل خيار Run as Dry Run وإعادة تنفيذ عملية البحث والاستبدال، لكن سوف تُحفظ التغييرات هذه المرة، ويُفضل قبل إجراء أي عمل على قاعدة البيانات أخذ نسخة احتياطية عنها، حيث يصعب في ووردبريس إصلاح تلف قاعدة البيانات أو خسارة محتويات ضمنها.

تستطيع إجراء نفس الخطوات السابقة لكن باستخدام phpMyAdmin إذا كانت استضافتك توفر هذه البرمجية، وانتبه إلى أنه لا وجود لخيار Run as Dry Run هنا، لذا يتطلب التعامل مع هذه الأداة خبرةً تقنيةً.

استبدال ملف htaccess.

يُعنى ملف htaccess. بتوجيه الزيارات والسماح بالوصول لعناصر ضمن موقعك، لذلك تستطيع فرض استخدام HTTPS على جميع روابط الموقع بإضافة بضعة أسطر لملف htaccess. باستخدام برنامج FileZilla، أو أي برنامج FTP آخر، أو باستخدام مدير الملفات ضمن استضافتك.

سوف تعمل على إعادة توجيه الروابط ضمن موقعك للمحتوى الموجود، وذلك لتُحمّل باستخدام HTTPS بدلًا من HTTP، ولتنفيذ هذا، توجه إلى المسار الرئيسي لتثبيت ووردبريس، وهو عادةً /public_html، واضغط بزر الفأرة الأيمن على ملف htaccess. ثم اختر Edit، لفتح الملف باستخدام المحرر النصي الافتراضي الذي تستخدمه.

ألصق ضمن الملف الشيفرة التالية بين الوسم </ifModule> والسطر الذي يتضمن # END WordPress.

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d </IfModule>

اقتباس

ملاحظة: يُفضل أخذ نسخة احتياطية عن ملف htaccess. في حال سببت التغييرات السابقة توقف الموقع.

إذا نجحت الخطوة الأخيرة، فيجب أن يختفي الخطأ عن الظهور، لكن يُحتمل ألا يختفي إن كنت تستخدم إضافة تخزين مؤقت، حيث عليك في هذه الحالة مسح ملفات التخزين المؤقت وتحميل الموقع من جديد.

الخلاصة

لا تقلق إن ظهر لك أو لمستخدميك الخطأ Mixed Content، فهو بسيط وسهل الحل، لكن إغفاله لمدة طويلة سوف يتسبب بالكثير من الأضرار لموقعك، خصوصًا ما يتعلق بترتيبه لدى محركات البحث، وتستطيع إصلاح هذا الخطأ يدويًا أو باستخدام إضافة، كما يُمكن في بعض الأحيان أن تُضطر للغوص أعمق من ذلك، والبحث ضمن ملفات نواة ووردبريس.

ترجمة -وبتصرّف- للمقال How to Fix the Mixed Content Error in WordPress لصاحبه B.J. Keeton.

اقرأ أيضًا
72,943 عمالقة التكنولوجيا يحذرون.. ثغرة خطيرة قد تفتح باب الهجمات واسعاً

يبذل مسؤولو الأمن السيبراني في شركات التكنولوجيا الكبرى، جهودا حثيثة لإصلاح ثغرة "خطيرة"، في أحد برامج الإنترنت المستخدمة على نطاق واسع.

ووفقا لصحيفة "وول ستريت جورنال"، يحذر خبراء بمجال الأمن السيبراني من أن هذه الثغرة "قد تسمح بجولة جديدة من الهجمات الإلكترونية".

وتم تحديد هذه الثغرة، المخفية في "جزء غامض" من برنامج الخادم (سيرفر)، وتسمى Log4j، وأدت إلى إجراء تحقيقات معمقة في شركات منها "أمازون" و"تويتر" و"سيسكو".

وقالت أمازون، أكبر شركة حوسبة سحابية في العالم، في تحذير أمني، "نحن نراقب هذه المشكلة، ونعمل على معالجتها".

وأصدرت وكالة الأمن السيبراني وأمن البنية التحتية في الولايات المتحدة، تنبيها بشأن الثغرة الأمنية، وحثت الشركات على اتخاذ إجراءات.

وقالت مديرة الوكالة، جين إيسترلي، "لكي نكون واضحين، تشكل هذه الثغرة خطرا شديدا. سنقوم فقط بتقليل الآثار المحتملة، من خلال تكثيف التعاون بين الحكومة والقطاع الخاص".

وأعلنت شركات تنتج برامج تحتوي على ثغرة Log4j، ومنها "آي بي أم"، و "رد هات"، و"أوراكل"، و"في أم وير"، أنها ستقوم بتحديث البرامج.

وأوضح آرون بورتنوي، كبير العلماء في شركة "راندوري" للأمن، إنه نظرا لسهولة استغلال الثغرة، وصعوبة منع الهجمات، فقد يستخدم المتسللون Log4j لاقتحام شبكات الشركات لسنوات قادمة.

وتسمح الثغرة للمتسللين بتحويل ملفات السجل التي تتعقب ما يفعله المستخدمون على خوادم الكمبيوتر، إلى تعليمات ضارة تجبر الجهاز على تنزيل برامج غير مصرح بها.

ونقلت الصحيفة عن باحثين قولهم إن متسللين "بدأوا في استغلال الثغرة"، الجمعة، للوصول إلى الخوادم التي تشغل لعبة "ماين كرافت"، التابعة لشركة "مايكروسوفت". وفي مذكرة نشرت الجمعة، نصحت الشركة مستخدمي "ماين كرافت" بتحديث اللعبة.

وأضاف الباحثون أن الثغرة وجدت أيضا في خوادم "آبل"، وفي أنظمة شركات أخرى، ومنها "تويتر"، و"لينكد إن"، المملوكة أيضا لشركة "مايكروسوفت".

72,942 سامسونج و IBM تتوصلان لنقلة كبيرة بتصميم المعالجات عبر تقنية تسمح برص الترانزستورات عموديًا

ضمن اليوم الأول في مؤتمر IEDM في مدينة سان فرانسيسكو بولاية كاليفورنيا الأمريكية، استغلت شركتا سامسونج و IBM المناسبة للإعلان عن توصلهما لتقنية تسمح برص أو تكديس الترانزستورات بشكل عمودي في أشباه الموصلات ورقاقات المعالجة، ما يعني نقلة كبيرة في الصناعة.

تعتمد طريقة تصنيع المعالجات على رص وترتيب الترانزستورات بشكل أفقي على ألواح السيليكون، ما يعني أن العدد الإجمالي للترانزستورات في كل معالج يكون ملاصق لبعضه البعض، ويتوجب التوصل لتقنيات تساعد على تصغير حجم كل ترانزستور منها لجعلها تتسع لأكبر عدد دون التأثير على حجمها عن وضعها في الأجهزة، لكن ذلك كله سيختلف مع التقنية الجديدة.

ستساعد تقنية سامسونج و IBM، التي أطلق عليها اسم Vertical Transport Field Effect Transistors (VTFET)، الشركتين في تصنيع أشباه الموصلات والرقاقات الإلكترونية بطريقة تسمح باستخدام نفس المساحة في توفير أعداد مضاعفة من الترانزستورات معًا، ما يعني رفع الكفاءة بشكل ملحوظ بالحفاظ على نفس الحجم.

ووفقًا لما أشارت إليه الشركتين، فإن هذه التقنية في تصميم أشباه الموصلات ستساعدهما في الوصول سريعًا لمرحلة دقة التصنيع ما بعد نانومتر، وكذلك المساعدة في تقليل النفايات الناتجة عن عمليات تصنيع أشباه الموصلات، وفي نفس الوقت توفير سرعة مضاعفة في الوقت الذي تستهلك فيها طاقة أقل بنحو 85% مقارنة مع المعالجات المصنعة وفق تصميم FinFET.

وتذهب IBM وسامسونج أبعد من ذلك في حديثهما بالقول إن هذه التقنية ربما تساعد في أحد الأيام على استخدام الهواتف الذكية على شحنة واحدة فقط في الأسبوع.

المصدر:

Engadget

التدوينة سامسونج و IBM تتوصلان لنقلة كبيرة بتصميم المعالجات عبر تقنية تسمح برص الترانزستورات عموديًا ظهرت أولاً على عالم التقنية.

72,941 فريق 22Pixels Games السعودي يطلق لعبة الحركة Kidvio

أعلن فريق تطوير الألعاب السعودي الناشئ، 22 Pixels Games ، عن إطلاق لعبة Kidvio على الهواتف المحمولة، وهي أولى ألعاب الفريق.

تعتبر لعبة Kidvio لعبة حركة وقفز تعتمد على الوقت والتركيز في طريقة لعبها، وتتميز اللعبة برسومات مميزة ويمكن للمستخدمين الاستمتاع بتجربتها على الهواتف الذكية على نظامي أندرويد و iOS على حد سواء.

يجدر الذكر أن اللعبة غير متاحة بشكل مجاني وتتوفر للشراء مقابل 1.99 دولارًا أمريكيًا، لكن متابعو عالم التقنية سيحصلون على تجربتها دون الحاجة لدفع المبلغ من خلال أكواد الخصم الذي وفرها فريق تطوير لعبة Kidvio لمتابعي الموقع. حيث يمكن لمستخدمي متجر آبل الاستفادة من الكودين ( EP3J646K67Y7 و  4M4999ELKXX3)، فيما يمكن لمستخدمي متجر جوجل بلاي الاستفادة من (JR771Q0LPM11AD2ADRGVA2N و EBCUDECA0QFTZLH4Y55DVWG).

التدوينة فريق 22Pixels Games السعودي يطلق لعبة الحركة Kidvio ظهرت أولاً على عالم التقنية.

72,929 ما هي منصة Trello.. وكيف تعمل؟

تمتلك منصة Trello أكثر من 50 مليون مستخدم حول العالم، ويعتبرها الكثيرون بوابة النجاح في بيئة العمل عن بعد.

وتعتبر منصة Trello إحدى منصات العمل عن بعد، والتي تم تصميمها لتوزيع العمل على الموظفين الموجودين في الشركات.

كما يمكنك استخدامها للشركات التي تعمل محليًا وعبر مقراتها، حيث تساعد على توزيع الوظائف بشكل بصري جميل يمكن الوصول إليه بسهولة.

وتعتمد المنصة في جوهرها على مبدأ Kanban لإدارة المشاريع، وهي توفر للمديرين والموظفين معًا طريقة سهلة لعرض المشاريع منذ بدايتها.

المكونات الأساسية لمنصة Trello

تتكون منصة Trello بشكل رئيسي من مجموعة من البطاقات والقوائم ولوحات العمل. حيث تضم كل لوحة عمل مجموعة من القوائم وكل قائمة تضم مجموعة من البطاقات التي تحتوي على الوظائف التي يجب إكمالها مع أي تعليقات خاصة بها.

ويمكنك إضافة المستخدمين المختلفين إلى أي وظيفة ترغب فيها وخاصة بأي بطاقة تمتلكها، كما يمكنك إضافة موعد نهائي لتسليم الوظيفة.

وتستطيع تقسيم هذه البطاقات والقوائم بأي طريقة ترغب بها، سواء كانت قوائم لوظائف تمت بالفعل أو وظائف مازلت قيد التنفيذ.

ويمكنك أن ترفق أي معلومات أو ملفات ترغب بها مع أي بطاقة موجودة في التطبيق. ويعني ذلك إرفاق الملفات النصية أو الصور أو حتى ملفات من منصات أخرى.

وتستطيع استخدام Trello مع المنصات الأخرى مثل Slack أو Gmail عبر مجموعة من الإضافات التي تتيحها الشركة لك.

ويضم التطبيق مجموعة من الاستخدامات المتنوعة لأدوات الذكاء الاصطناعي المتاحة فيه، وتعمل هذه الأدوات على نقل البطاقات وإضافة التعليقات وتحديث حالتها بشكل تلقائي دون تدخل المستخدم لتوفر عليه الوقت.

تسعير المنصة

يمكنك استخدام منصة Trello بشكل مجاني دون الاشتراك فيها، ولكن إذا كنت ترغب في الاستفادة بكامل من إمكانيات المنصة، فإنك تحتاج للاشتراك المدفوع بها.

وتوفر المنصة أربع حزم مختلفة من الاشتراكات، بمجموعة مختلفة من الميزات والإضافات الخاصة بكل حزمة.

وتبدأ أسعار اشتراك Trello مع الحزمة المجانية التي يمكن لأي مستخدم الاشتراك فيها. وتوفر لك مساحة تخزين لا نهائية بحجم 10 ميجابايت للملف الواحد، بالإضافة إلى 250 وظيفة تلقائية.

ولكن الحد الأقصى للوحات التي يمكن أن تمتلكها في الحزمة المجانية هي عشرة لوحات في وقت واحد.

وأما الحزمة الاعتيادية للاشتراك وقد تم إضافتها مؤخرًا، فهي تزيد من حجم الملفات ليصبح 250 ميجابايت للملف الواحد بسعر 5 دولارات للمستخدم.

وأخيرًا الحزمة الأعلى للاشتراك، وهي تأتي بسعر 10 دولارات في الشهر للمستخدم، فإنها تمنحك استخدامات لا محدودة لخاصية Butler مع اختيارات إضافية للأمان وترتيب الأعمال.

وتوجد خطة خاصة بالشركات تعتمد على عدد المشتركين والميزات التي تحتاجها كل شركة، لتبدأ من 17.50 دولار للمستخدم في الشهر.

72,890 طريقة ضبط الشبكة في نظام التشغيل لينكس

إن وصل حاسوبك المثبت عليه نظام التشغيل لينكس على الشبكة ليس بهذه البساطة. سنتناول في هذه المقالة ملفات إعدادات الشبكة الرئيسية في توزيعات نظام لينكس المبنية على ريدهات Red Hat، وسنطلع على خدمتي بدء تشغيل وإدارة الشبكة، وهما: خدمة بدء تشغيل الشبكة الموقَّرة، ومدير الشبكة NetworkManager المثير للجدل.

تستطيع إدارة عدة بطاقات شبكة بسهولة في نظام لينكس، فعادةً تحتوي الحواسيب المحمولة على بطاقات شبكة سلكية ولاسلكية wireless، ويمكن أن تدعم بطاقات واي ماكس WiMax للشبكات الخليوية. كما تدعم الحواسيب المكتبية تعدد بطاقات الشبكة، فتستطيع أن تستخدم حاسوبك المثبَّت عليه نظام لينكس كعميل متعدد الشبكات multi-network أو موجه router للشبكات الداخلية، وهي حالة طبقتها في بعض الأنظمة التي عملت عليها.

ملفات إعدادات بطاقة الشبكة

يخصَّص ملف إعدادات لكل بطاقة شبكة في المجلد ‎/etc/sysconfig/network-scripts، وتكون صيغة تسمية هذه الملفات كالتالي ifcfg-<interface-name>X حيث أن interface name هو اسم بطاقة الشبكة، و X هو رقمها الذي يبدأ من الصفر أو الواحد حسب اصطلاح التسمية المعتمَد. فمثلًا يكون اسم أول بطاقة شبكة من نوع إيثرنت Ethernet interface كما يلي:

‎/etc/sysconfig/network-scripts/ifcfg-eth0

أما بقية الملفات في مجلد ‎/etc/sysconfig/network-scripts يكون معظمها نصوص برمجية أو سكربتات scripts تستخدَم لتشغيل الخدمات أو بطاقات الشبكة وإيقافها وتأدية عدة مهام متعلقة بضبط الشبكة.

يرتبط كل ملف من ملفات إعدادات بطاقة الشبكة ببطاقة شبكة فيزيائية محددة من خلال العنوان الفيزيائي MAC address للبطاقة.

اصطلاحات تسمية بطاقة الشبكة

كانت اصطلاحات تسمية بطاقات الشبكة بسيطة وغير معقدة وسهلة حسب اعتقادي، فاستخدام اصطلاح التسمية ethX بدا منطقيًا لي وكانت تسهل كتابته، ولم يتطلب أية خطوات إضافية لمعرفة إلى أية بطاقة شبكة ينتمي الاسم الطويل والمبهم. لكن للأسف كانت ترغمني إضافة بطاقة جديدة غالبًا على إعادة تسمية بطاقات الشبكة، وكان يؤدي هذا إلى تعطيل النصوص البرمجية والإعدادات. وقد تغيرت هذه الآلية أكثر من مرة.

بعد مضي فترة اتسمت فيها التسميات بأنها طويلةً ومبهمةً، أصبح لدينا الآن مجموعة ثالثة من اصطلاحات التسمية الأفضل نوعًا ما. لا تزال الأسماء مثل ethX مستخدمة في توزيعة سينتوس CentOS من الإصدار 6.x. أما اصطلاحات التسمية الأحدث التي تكون الأسماء فيها مثل eno1 أو enp0s3 مستخدَمة في RHEL 7 و CentOS 7 والإصدارات الأحدث من توزيعة فيدورا Fedora. يمكنك الاطلاع على اصطلاح التسمية في توزيعتَي RHEL 6 و CentOS 6 في دليل استخدام ريدهات في الملحق A. تسمية أجهزة الشبكة المعتمَد، والاطلاع على اصطلاح التسمية في التوزيعات RHEL 7 و CentOS 7 والإصدارات الحالية من فيدورا في دليل الشبكة في ريدهات في الفصل الثامن: تسمية أجهزة الشبكة المعتمَد.

نماذج عن ملفات الإعدادات

يحدد هذا النموذج من ملف إعدادات بطاقة الشبكة المسمَّى باسم ifcfg-eth0 ضبط عنوان IP ثابت لخادم مثبَّت عليه توزيعة CentOS 6.

# Intel Corporation 82566DC-2 Gigabit Network Connection DEVICE=eth0 HWADDR=00:16:76:02:BA:DB ONBOOT=yes IPADDR=192.168.0.10 BROADCAST=192.168.0.255 NETMASK=255.255.255.0 NETWORK=192.168.0.0 SEARCH="example.com" BOOTPROTO=static GATEWAY=192.168.0.254 DNS1=192.168.0.254 DNS2=8.8.8.8 TYPE=Ethernet USERCTL=no IPV6INIT=no

تبين الإعدادات الواردة في هذا الملف أنه ينفذ المهمات التالية: يشغل بطاقة الشبكة عند إقلاع الجهاز، ويسند لها عنوان IP ثابت، ويحدد نطاق domain وبوابة الشبكة gateway، ويحدد خادمَي DNS، ولا يسمح لأي مستخدم غير المستخدم الجذر root بتشغيل وإيقاف بطاقة الشبكة.

يتضمن ملف إعدادات بطاقة الشبكة التالي المسمَّى باسم ifcfg-eno1 إعدادات خدمة DHCP لمحطة عمل مكتبية desktop workstation.

TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_FAILURE_FATAL=no NAME=eno1 UUID=a67804ff-177a-4efb-959d-c3f98ba0947e ONBOOT=yes HWADDR=E8:40:F2:3D:0E:A8 IPV6_PEERDNS=no IPV6_PEERROUTES=no

في نموذج ملف الإعدادات الثاني لم تحدَّد مدخلات DHCP والعنوان IP ونطاق البحث وجميع معلومات الشبكة الأخرى لأن خادم DHCP هو من يوفّرها. يمكن تجاوز بنود الإعدادات مثل البنود المتعلقة بخوادم DNS في ملف إعدادات بطاقة الشبكة بإضافة سطري DNS1 و DNS2، تمامًا مثل نموذج الإعدادات الثابتة السابق.

لاحظ أن النموذج الثاني يتضمن سطرًا للمعرّف العالمي الفريد UUID. بحسب معرفتي لا يؤثر هذا السطر على وظائف ملف الإعدادات، إذ أنني عادةً أحوله إلى تعليق أو أحذفه نهائيًا ولم يؤدي ذلك إلى حدوث أي خلل في شبكتي.

يحدد سطر HWADDR في كلا ملفي إعدادات بطاقة الشبكة العنوان MAC address لبطاقة الشبكة الفيزيائية، وهذا يربط بين بطاقة الشبكة الفيزيائية بملف إعدادات بطاقة الشبكة الموافق لها. يجب أن تعدّل عنوان MAC في الملف إذا بدّلت بطاقة الشبكة.

يمكنك معرفة MAC address لبطاقة الشبكة NIC بعدة وسائل، أختار منها عادةً الأمر ifconfig الذي يعرض جميع بطاقات الشبكة المثبتة على الجهاز، وعنوان MAC لكل منها وإحصائيات متنوعة مرتبطة بها. يُطبع عنوان MAC للعديد من بطاقات الشبكة الحديثة على علبتها أو على ملصَق موجود على بطاقة الشبكة نفسها. لكن تولَّد معظم ملفات إعدادات بطاقة الشبكة تلقائيًا أثناء عملية تثبيت بطاقة الشبكة أو فور رصد بطاقة الشبكة المركَّبة حديثًا، ليتضمن ملف إعدادات بطاقة الشبكة الجديد عنوان MAC address.

يشير سطر ONBOOT أن تفعيل بطاقة الشبكة يكون عند إقلاع الجهاز. إذا عدلنا هذا السطر إلى no يصبح تفعيل بطاقة الشبكة إما يدويًا أو من خلال واجهة مدير الشبكة بعد تسجيل الدخول.

يشير السطر USERCTL أنه لا يسمح للمستخدمين غير المخوّلين بإدارة بطاقة الشبكة، أي تشغيلها وإيقافها. تعديل هذا المعامل parameter إلى yes يسمح للمستخدمين العاديين أن يفعِّلوا بطاقة الشبكة ويوقفوا تفعيلها.

لا يهم ترتيب الأسطر في ملف إعدادات بطاقة الشبكة، إذ أنه سيؤدي مهامه كيفما رتبت الأسطر. وكما هو متعارف عليه، تكتَب أسماء الخيارات بأحرف كبيرة وتكتَب القيم بأحرف صغيرة. ويمكن أن تضع قيم الخيارات بين علامتي اقتباس ""، لكن لا يكون ذلك ضروريًا إلا في الحالة التي تكون فيها القيم رقمًا أو أكثر من كلمة واحدة.

خيارات الإعدادات

اخترت لك بعض أكثر الخيارات المستخدَمة في ملف إعدادات بطاقة الشبكة لتطلع عليها من بين العديد من خيارات الإعدادات:

  • DEVICE: الاسم المنطقي للجهاز، مثل eth0 أو enp0s2.
  • HWADDR: عنوان MAC address لبطاقة الشبكة المرتبطة بهذا الملف، مثل 00:16:76:02:BA:DB.
  • ONBOOT: تشغيل خدمات الشبكة على هذا الجهاز عندما يقلع المضيف. خياراته هي "yes/no". يكون هذا الخيار مضبوطًا على "no" عادةً، ولا تعمل الشبكة إلا عندما يسجل مستخدم الدخول إلى سطح المكتب. إذا أردت أن تعمل خدمات الشبكة حتى لو لم يسجل أي مستخدم دخوله عدّل هذا الخيار إلى "yes".
  • IPADDR: عنوان IP المسنَد إلى بطاقة الشبكة، مثل 192.168.0.10.
  • BROADCAST: عنوان البث المخصص لهذه الشبكة، مثل 192.168.0.255.
  • NETMASK: قناع الشبكة لهذه الشبكة الفرعية مثل القناع من الفئة C التالي: 255.255.255.0.
  • NETWORK: معرف الشبكة ID لهذه الشبكة الفرعية مثل معرف الشبكة من الفئة C التالي: 192.168.0.0.
  • SEARCH: اسم نطاق DNS الذي يبحث عنه عند إجراء عمليات البحث عن أسماء المضيفين غير المؤهلة unqualified hostnames.
  • BOOTPROTO: بروتوكول الإقلاع لبطاقة الشبكة هذه. تكون الخيارات كالتالي: static و DHCP و bootp و none. يشير خيار "none" افتراضيًا إلى ثابت static.
  • GATEWAY: موجه الشبكة أو البوابة الافتراضية default gateway لهذه الشبكة الفرعية، مثل 192.168.0.254.
  • ETHTOOL_OPTS: يستخدم هذا الخيار لضبط بنود إعدادات معينة لبطاقة الشبكة مثل السرعة وحالة الازدواج duplex وحالة التفاوض التلقائي autonegotiation. يجب أن تجمَع قيم هذا الخيار بين علامتي اقتباس واحدة لوجود عدة قيم منفصلة له، مثل: "autoneg off speed 100 duplex full".
  • DNS1: خادم DNS الرئيسي مثل 192.168.0.254، وهو خادم موجود ضمن الشبكة المحلية. تضاف خوادم DNS المحددة هنا إلى ملف ‎/etc/resolv.conf عند استخدام NetworkManager، أو عندما يكون خيار موجّه peerdns محددًا بالخيار yes. وإلا يجب أن تضاف خوادم DNS إلى الملف ‎/etc/resolv.conf يدويًا ويتم تجاهلها هنا ضمن هذا الملف.
  • DNS2: خادم DNS الثانوي، مثلًا 8.8.8.8، وهو أحد خوادم DNS المجانية الخاصة بجوجل Google. يجدر الإشارة أن إضافة خادم DNS ثانوي آخر tertiary DNS server غير مدعومة في ملف إعدادات بطاقة الشبكة، لكن يمكنك ضبطه في الملف الثابت resolv.conf .
  • TYPE: نوع الشبكة الذي يكون عادةً Ethernet، إذ أن القيمة الوحيدة الأخرى التي رأيتها في هذا الخيار كانت Token Ring، لكن ذلك عرَضي في معظم الأحيان.
  • PEERDNS: يشير خيار yes أن ملف ‎/etc/resolv.conf سيعدَّل بإدراج مدخلات خادم DNS ضمنه، التي نحددها في خياري DNS1 و DNS2 ضمن هذا الملف. يشير الخيار "No" إلى عدم تعديل ملف resolv.conf. يكون خيار "Yes" الخيار الافتراضي عندما نحدد خيار DHCP في سطر BOOTPROTO.
  • USERCTL: يحدد سماحية تشغيل وإيقاف بطاقة الشبكة للمستخدمين غير المخوّلين، وتكون خياراته "yes/no".
  • IPV6INIT: يبين هل تطبَّق بروتوكولات IPV6 على بطاقة الشبكة هذه أم لا، وتكون خياراته "yes/no".

تحديد الخيار DHCP يؤدي إلى تجاهل معظم الخيارات الأخرى، لتكون الخيارات الوحيدة المطلوبة في هذه الحالة هي BOOTPROTO و ONBOOT و HWADDR. من الخيارات الأخرى التي لا يتم تجاهلها وقد تجدها مفيدةً خياري DNS1 و PEERDNS وذلك في حالة أردت تجاوز مدخلات DNS التي يزودك بها خادم DHCP.

ملف الشبكة القديم

ستتعامل مع ملف واحد قديم وأصبح مهملًا الآن وهو ملف الشبكة network. الذي يتضمن في إصدارات فيدورا وريد هات وسينتوس عادةً سطرًا واحدًا يحتوي تعليقًا، وتجده في المسار ‎/etc/sysconfig. كان يستخدم سابقًا لتفعيل أو تعطيل الربط الشبكي، إضافةً إلى تحديد اسم مضيف الشبكة كما هو مبين في النموذج التالي:

NETWORKING=yes HOSTNAME=host.example.com

إن هذا الملف موجود في فيدورا منذ إصدارها 19 لكنه غير مستخدَم. لا يزال مستخدمًا في إصدارات RHEL/CentOS 6.x، لكنه لم يعد مستخدمًا في RHEL/CentOS 7.x، إذ يحدَّد اسم مضيف الشبكة حاليًا في الملف ‎/etc/hostname.

ملفات الشبكة الأخرى

يحتوي مجلد ‎/etc/sysconfig/network-files العديد من الملفات الأخرى التي تكون جميعها عادةً نصوص باش BASH تنفيذية وليست ملفات إعدادات. إن هذا بالنسبة لي على الأقل إحدى أكثر الاستثناءات المزعجة للتسلسل الهرمي القياسي لنظام الملفات في لينكس FHS الذي ينص صراحةً أن ملفات الإعدادات، وليست الملفات التنفيذية، هي الملفات الوحيدة التي نجدها ضمن المسارetc/.

ملف route-<interface>‎ هو أحد ملفات الشبكة الأخرى الموجودة في المسار ‎/etc/sysconfig/network-files. إذا أردت أن تضبط أسطر توجيه ثابتة static routes في نظام متصل بأكثر من شبكة multi-homed system، أنشئ ملف توجيه route لكل بطاقة شبكة. فمثلًا يسمى الملف التالي route-eth0، وهو يحدد أسطر التوجيه لبطاقة شبكة محددة لكل من الشبكات والمضيفين الفرديين.

default 192.168.2.1 dev eth0 10.10.10.0/24 via 192.168.0.1 dev eth0 192.168.1.0/24 via 192.168.0.1 dev eth0 192.168.96.11 via 192.168.97.1 192.168.15.100 via 192.168.15.32 192.168.96.12 via 192.168.97.1 192.168.97.100 via 192.168.97.1

نادرًا ما يستخدم هذا الملف، إلا في حالة كنت تستخدم المضيف كموجه في بعض احتياجات التوجيه المعقدة. اطلع على دليل الربط الشبكي الخاص بإصدار ريد هات إنتربرايس لينكس أو سينتوس لديك للحصول على المزيد من تفاصيل ضبط أسطر التوجيه.

بدء تشغيل الشبكة

إن دخول الشبكات اللاسلكية والهواتف المحمولة جعل إعادة ضبط بطاقات الشبكة عند إضافة كل شبكة لاسلكية جديدة معقدًا ويستهلك وقتًا طويلًا. كما أن ذلك قد يؤدي إلى تضارب التسميات عند إضافة بطاقة شبكة جديدة.

الشبكة

كانت خدمات الشبكة القديمة هي المستخدَمة افتراضيًا في إدارة مهام بدء تشغيل الشبكة وإيقافها في التوزيعات المبنية على ريد هات حتى عام 2004. كان نص التشغيل البرمجي SystemV يستخدم ملفات إعدادات ثابتة لتشغيل الشبكة السلكية أو اللاسلكية عند إقلاع الجهاز، أو عند تنفيذ أمر بسيط مثل service network start في واجهة الأوامر. لا تزال هذه الخدمة متوفرة لكن يعاد توجيه الأوامر من خلال systemd.

لا تستطيع خدمة الشبكة مراقبة الأجهزة القابلة للتوصيل أو الشبكات اللاسلكية المتغيرة، لذا يصعب استخدامها على الحواسيب المحمولة أو الحواسيب من نوع نت بوك netbook.

كما ظهرت مشاكل عند ضبط شبكة سلكية على الحواسيب المحمولة، والخوادم أو الحواسيب المكتبية المثبَّت عليها عدة بطاقات شبكة. لقد واجهت مشكلةً عندما كنت أبدل بطاقة شبكة تالفة في مضيف مثبَّت عليه عدة بطاقات شبكة، لأن اسم بطاقة الشبكة كان غالبًا يتغير خلال عملية إقلاع النظام.

مدير الشبكة

طرحت ريدهات مدير الشبكة NetworkManager في عام 2004 لتسهيل عملية ضبط الشبكة والاتصالات وأتمتتها، وخاصةً للشبكات اللاسلكية. كانت الغاية منه تفادي اضطرار المستخدم إلى ضبط كل شبكة لاسلكية يدويًا. مع أن الغاية منه كانت تسهيل إدارة الشبكة على المستخدمين غير التقنيين، إلا أنها تتطلب أن يجري مدير النظام بعض التعديلات، لأن العديد من الوظائف المعتادة أصبحت تعالجها شريحة جديدة من ملفات الإعدادات والنصوص البرمجية. هذا يعني أن ملفات الإعدادات القياسية معرضة لأن يكتب مدير الشبكة فيها في كل مرة يعاد تشغيل خدمات الشبكة، وهذا يشمل كل عملية إعادة إقلاع.

إن العفريت udev هو مدير نواة الجهاز المسؤول عن تسمية جميع الأجهزة تسميةً منهجيةً ومتواصلةً، وهذا يشمل أجهزة الشبكة وأجهزة التخزين القابلة للإزالة. كما تستخدم لمطابقة أسماء أجهزة الشبكة مثل eth0 أو eno1 مع عنوان MAC لبطاقة الشبكة.

آلية عمله التقريبية

يرصد مدير الأجهزة udev إضافة جهاز جديد إلى النظام مثل بطاقة شبكة جديدة، وينشئ قاعدةً للتعرف عليه وتسميته إذا لم يكن موجودًا مسبقًا. تغيرت تفاصيل آلية تنفيذ ذلك في الإصدارات الأحدث من فيدورا وسينتوس وريد هات. يمكنك الاطلاع على الشرح المفصَّل للنهج المتَّبع في تسمية الأجهزة في دليل الربط الشبكي في ريد هات 7، إضافةً إلى شرح من أين تشتَق هذه الأسماء.

إن العرف الحالي هو استخدام محتويات ملفات إعدادات بطاقة الشبكة لتوليد القواعد. لكن إذا لم يكن هذا الملف موجودًا، يرسل udev إشعارًا إلى مدير الشبكة عند وصل جهاز جديد أو الاتصال بشبكة لاسلكية جديدة، لينشئ مدير الشبكة عندها ملف جديد لإعدادات بطاقة الشبكة.

ينشئ العفريت udev قيدًا لكل بطاقة شبكة في ملف قواعد الشبكة. يستخدم مدير الشبكة هذه القيود إضافةً إلى المعلومات الواردة في ملفات إعدادات بطاقة الشبكة الموجودة في مجلد ‎/etc/sysconfig/network-scripts في تهيئة كل بطاقة شبكة.

قرار مدراء النظام

يمكن استخدام خدمات الشبكة الأقدم وتعطيل مدير الشبكة. ستجد العديد من المقالات التوجيهية التي تشرح كيفية تعطيل مدير الشبكة والرجوع إلى استخدام خدمة الشبكة، مثل هذا الدليل التوجيهي، لذا لن نخوض في هذه التفاصيل ضمن هذه المقالة.

لا أنصح شخصيًا بالرجوع إلى خدمات الشبكة الأقدم، لأنني لحظة فهمت آلية عمل مدير الشبكة و udev معًا لتوفير نظام تسمية ثابت وضبط تلقائي لكل من الأجهزة الحالية والجديدة، بدا كل شيء منطقيًا بالنسبة لي وجعل ذلك إدارة بطاقات الشبكة أسهل. برأيي إن مدير الشبكة يجمع ميزات الخدمتين.

لكن كما جرت العادة في نظام التشغيل لينكس، إن اتخاذ قرار أية خدمة ستستخدم يعود إليك.

ترجمة -وبتصرف- للمقال ‎How to configure networking in Linux لصاحبه David Both.

اقرأ أيضًا
72,871 تسهل القرصنة.. ثغرة خطيرة في أبل وتويتر

حذر باحثو الأمن السيبراني من أن العديد من الخدمات الشائعة، بما في ذلك Apple iCloud و Amazon و Twitter و Cloudflare و Minecraft، معرضة لاستغلال "zero-day exploit"، مما ترك فرق أمن تكنولوجيا المعلومات في العديد من الشركات تتدافع لإصلاح الثغرة الأمنية المسماة 'Log4Shell'.

وعثر على استغلال "zero-day" (وهو هجوم إلكتروني يستهدف ثغرة برمجية غير معروفة لشركات البرامج) في نظام تسجيل Java المستخدم على نطاق واسع والمسمى "log4j2"، وإذا تم استغلال الثغرة الأمنية، فإنها تسمح بتنفيذ التعليمات البرمجية عن بُعد (RCE) على الخوادم المعرضة للخطر، مما يمنح المتسللين القدرة على استيراد البرامج الضارة التي من شأنها أن تعرض ملايين الأجهزة للخطر تمامًا.

فيما قال باحثون من شركة LunaSec لأمن التطبيقات إن "العديد والعديد من الخدمات معرضة لهذا الاستغلال. فقد تم بالفعل اكتشاف أن الخدمات السحابية مثل Steam و Apple iCloud وتطبيقات مثل Minecraft معرضة للخطر".

ووفقًا لتقرير TechCrunch ، فإن الشركات التي لديها خوادم تم التأكد من تعرضها لهجوم "Log4Shell" حتى الآن تشمل Apple و Amazon و Cloudflare و Twitter و Steam و Baidu و NetEase و Tencent و Elastic "، على الرغم من وجود مئات إن لم يكن الآلاف من الشركات الأخرى المنظمات المتضررة".

الصفحات

أنت هنا