NameCheap-Hosting

استفد من الخصومات على خدمات الاستضافة بمختلف انواعها

VPS hosting: up to 30% off!

الاثنين، 11 فبراير 2019

HTTP Methods


HTTP Methods
من الأمور الهامة في الأمن السيبراني من الضروري فهم بروتوكول HTTP و methods التي يستخدمها البروتوكول. من تلك methods:
·        HTTP GET
·        HTTP POST
·        HTTP PUT
·        HTTP DELETE
وتاليا شرح مفصل عن هذه الطرق
HTTP GET
تستخدم GET لطلب الحصول على الموارد أو المعلومات التي يوفرها النظام وليس تغييرها أبدا. وكون GET  تستخدم لاستدعاء الموارد فإنها تعتبر من الطرق الأمنة التي يستخدمها بروتوكول HTTP.
لأي عملية يؤديها HTTP GET إذا كان المورد موجود في السيرفر، فإن الرد سيحمل علامة قيمتها (200) تبين وجود المورد المطلوب متضمنا المورد نفسه ضمن محتوى رسالة الرد. لكن في حال لم يكن المورد المطلوب موجود في السيرفر فإن الرد سيحمل علامة قيمتها (404) تبين عدم وجود المورد المطلوب. أما في حال كانت القيمة (400) فإن الرد يشير إلى خطأ في مضمون الطلب وأن رسالة الطلب لم تكتب بشكل سليم.
أمثلة على استخدام GET:
·        HTTP GET http://www.appdomain.com/users
·        HTTP GET http://www.appdomain.com/users?size=20&page=5
·        HTTP GET http://www.appdomain.com/users/123
·        HTTP GET http://www.appdomain.com/users/123/address
HTTP POST
تستخدم POST لإنشاء مورد فرعي تابع لموارد أخرى، مثل انشاء سجل في قاعدة بيانات، او انشاء ملف في مجلد على السيرفر. في حال تم انشاء المورد في السيرفر سيقوم السيرفر بارد رسالة رد تحمل علامة قيمتها (201) تبين نجاح العملية وتحمل في مضمون الرسالة ومعلومات عن المورد المنشأ وموقعه في السيرفر URI. وقد يكون الرد بعد نجاح انشاء المورد لا يحمل عنوان لموقع المورد URI وهنا يحمل الرد علامة قيمتها (200) أو (204) تبين نجاح العملية وتشير لعدم وجود URI.
تعتبر ال POST من الطرق غير الأمنة التي يستخدمها بروتوكول HTTP، وهذا يعني ضرورة أحكام استخدمها ومراقبة الرسائل التي تحمل HTTP POST، أو الغائها في حال كان الموقع أو التطبيق لا يتطلب وجود POST.
أمثلة على استخدام POST:
POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
 
say=Hi&to=Mom
·        HTTP POST http://www.appdomain.com/users
·        HTTP POST http://www.appdomain.com/users/123/accounts

HTTP PUT
تستخدم PUT بشكل رئيسي لتحديث مورد موجود على السيرفر، لكن قد يتم استخدام PUT لانشاء المورد في لم يكن المورد موجود على السيرفر. في حال تم انشاء مورد جديد باستخدام PUT فإن رسالة الرد ستحمل علامة قيمتها (201) تبين انشاء المورد، أما في إن كان المورد موجود فإن PUT ستقوم بتحديثه والرد برسالة تحمل العلامة (200) أو (204).
أمثلة على استخدام PUT:
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16
 
<p>New File</p>
·        HTTP PUT http://www.appdomain.com/users/123
·        HTTP PUT http://www.appdomain.com/users/123/accounts/456

HTTP DELETE
تستخدم  لحذف مورد من السيرفر، يقوم السيرفر بالرد برسالة تحمل علامة تبين نتيجة العملية. في حال نجاح العملة تكون قيمة العلامة (200) وتتضمن الرسالة تفاصيل اضافية عن الوضعية، أما في حال لم تتضمن تفاصيل اضافية تكون قيمة العلامة (204). إما في حال نجاح الطلب لكنه ضمن قائمة الانتظار للتنفيذ لاحقا تكون قمية العلامة (202).
أمثلة على استخدام DELETE:
·        HTTP DELETE http://www.appdomain.com/users/123
·        HTTP DELETE http://www.appdomain.com/users/123/accounts/456

الأربعاء، 2 يناير 2019

المجلدات الرئيسية لنظام التشغيل لينكس


المجلدات الرئيسية لنظام التشغيل لينكس 

تتشابه أغلب توزيعات نظام التشغيل لينكس إلى حد كبير من ناحية بنية وتركيبة المجلدات directories الرئيسية التي تحتفظ بملفات النظام، وملفات العتاد وملفات التطبيقات وملفات المستخدمين.
جميع الملفات الموجودة في نظام تشغيل اللينكس تتفرع من المجلد الرئيسي ويحمل العلامة " / "، حيث يتفرع من هذا المجلد الرئيسي عدة مجلدات هي على النحو التالي:
-         /tmp يحتفظ بالملفات المؤقتة حيث غالباً يستخدم من قبل التطبيقات العاملة على النظام عند تشغيلها، حيث يتم تخزين الملفات التي تحتاجها مختلف التطبيقات في هذا المجلد، ويستطيع اي تطبيق أو متسخدم من الوصول لهذه الملفات، إذ تحذف الملفات من هذا المجلد تلقائيا بعد اعادة تشغيل النظام.



-         /home هذا المجلد مخصص للاحتفاظ بالملفات الخاصة بالمستخدمين، يتم انشاء مجلد فرعي لكل مستخدم للنظام بحيث يكون محمي ولا يستطيع مستخدم من الوصول لمفات مستخدم آخر.

-         /usr يُستخدم هذا المجلد لتخزين التطبيقات الخاصة بكل مستخدم، حيث يحتوي هذا المجلد على مجلدات فرعية لكل مستخدم.

-         /usr/local يستخدم من قبل مدير النظام administrator لتنصيب التطبيقات.

-         /usr/share كان ستخدم من أجل مشاركة الملفات بين أنظمة اللينكس العاملة على عدة أجهزة.

-         /usr/lib يستخدم لحفظ الملفات التنفيذية binary executable files للبرامج المنصّبة على النظام.

-         /usr/sbin يستخدم لحفظ الملفات التنفيذية binary executable files للتطبيقات الخاصة بكل مستخدم.

-         /dev يستخدم لمفات التعريفات الخاصة بالعتاد العادي أو الافتراضي hardware and virtual devices التي يتعامل معها نظام التشغيل لينكس. مثل ملفات تعريف الأقراص الصلبة، ملفات الخاصة بانشاء الاعداد العشوائية، الملفات الخاصة بالذاكرة العشوائية RAM.

-         /etc يستخدم لحفظ اعدادات نظام التشغيل وكذلك الخدمات العاملة على النظام. على سبيل المثال يتم تحزين اسماء الاستخدام والمعلومات المرتبطة باسماء الاستخدام بما فيها كلمة السر لكل اسم استخدام ضمن هذا المجلد.

-         /var يستخدم من قبل نظام التشغيل والبرمجيات العاملة على النظام بيانات التطبيقات عند تشغيلها وكذلك التسجيلات logs المرتبطة بتلك التطبيقات. ويحتوي على مجلدات فرعية مثل tmp و log.

-         /sbin يستخدم لحفظ الملفات التنفيذية binary files الخاصة بنظام التشغيل واللازمة خلال عملية تشغيل النظام booting.