تابع موضوعات المنتدى الانتساب تعليمات س - ج المفكرة بحث مواضيع اليوم إشارة الأقسام مقروءة

مواقع صديقة: تعلم البي اتش بي - تصميم نت - أفضل استضافة

قديم 14-07-2007, 09:17 PM   3 links from elsewhere to this Post. Click to view. #1 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي [دالة] تأمين النص من اخطار XSS و SQL INJECTION

السلام عليكم ورحمة الله وبركاته

الدالة بسيطة جداً وتكفيني بصراحة فيما يخص تأمين اي نص مدخل من قبل الزائر أو العضو ضد أخطار XSS و SQL INJECTION او باختصار (اختراق الموقع)..

كود PHP:
function make_safe($str)
{
    return 
htmlspecialchars(addslashes(trim($str)));


طريقة الاستخدام:
كود PHP:
$safe_string make_safe($_GET['user_input']); 
بعد ذلك يمكنك استخدام النص بامان في اي استعلامات او طباعة للشاشة بدون قلق

اتمنى من الله عدم القصور
وارجو ان تكون مفيدة لكم

تحياتي
محمود
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder غير متصل   رد مع اقتباس
قديم 15-07-2007, 12:28 AM   #2 (permalink)
عضو فعال
 
الصورة الرمزية لـ enigma
 
تاريخ الانتساب: 04-03-2007
المكان: العراق
مشاركات: 655
مستوى السمعة : 2
enigma على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

لدي سؤال حول دوال تأمين الحماية للموقع والسكربت وعدم إعطاء فرص وثغرات للاختراق
الذي يهمني هو أنني اعتمد كثيراً على تقطيع الملفات لعدة صفحات فيها روابط تظهر العناوين ثم العرض ثم الأرشيف ومن ثم باقي الإعدادات كطباعة المحتوى وغيرها
لنفرض أن لدينا ملف مقالات index.php
في هذا الملف يجري كل شيء، عرض المقالات، قراءة المقال، طباعة المقال، أرشيف المقالات..
كود هتمل:
index.php?art=view
index.php?art=view&id=$id
index.php?art=archive
index.php?art=archive&page=3
index.php?art=print&id=$id
index.php?art=save&id=$id
هل تأمين الحماية على الاسماء، والقيم والأرقام واجب
أم فقط القيم
مثل
كود PHP:
$page make_safe($_GET['$paging']); 
وسؤال آخر قرأت عن أمر الدالة المذكورة addslashes هي تمنع بعض الرموز المستخدم في حقن الاستعلام والمراد منها اختراق المواقع، فهي بالحقيقة تتعرف على الرموز " أو ' من خلال كتابته هو بالشكل الطبيعي، لكن عندما يتم وضع رمزه الرقمي فلا يمكنها التعرف عليه
ما مدى صحة هذه المعلومة؟
وإن كانت صحيحة، فما الذي يتوجب علينا فعله في منع مثل هذه الثغرات؟؟؟


تحياتي
enigma غير متصل   رد مع اقتباس
قديم 16-07-2007, 02:38 AM   #3 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

بخصوص تأمين قيم المتغيرات فيجب تأمين جميع ما يتم استقدامه من المستخدم سواءاً عن طريق المصفوفة $_GET أو المصفوفة $_POST

ولكن تختلف طريقة المعالجة فمثلا لو كنت تتوقع ان يحتوي المتغير على INTEGER أو عدد صحيح فيستحسن استخدام الدالة intval حيث ترجع الدالة القيمة الصحيحة للمتغير أو القيمة صفر لو كان في المتغير اي شيء غير عدد صحيح..

أما بالنسبة للنصوص فيستحسن استخدام الدالة addslashes() مع trim() عند تنفيذ الاستعلامات (لتجنب أخطار SQL INJECTION)
و
htmlentites() و trim() عند الطباعة للمتصفح (لتجنب أخطار XSS)

اما بخصوص ادخال العلامات بطريقة غير مباشرة فلا معرفة لي بها بصراحة .. والله أعلم
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder غير متصل   رد مع اقتباس
قديم 16-07-2007, 03:08 AM   #4 (permalink)
عضو نشيط
 
الصورة الرمزية لـ محب php
 
تاريخ الانتساب: 18-03-2007
المكان: السعودية
مشاركات: 61
مستوى السمعة : 2
محب php على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

السلام عليكم

أخي محمود .. ماذا عن الدالة.. هل تنفع في كل الحالتين
كود PHP:
strip_tags 
وشكراً
__________________
. . .
محب php غير متصل   رد مع اقتباس
قديم 16-07-2007, 03:11 AM   #5 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

اقتباس:
الكاتب : محب php عرض المشاركة
السلام عليكم

أخي محمود .. ماذا عن الدالة.. هل تنفع في كل الحالتين
كود PHP:
strip_tags 
وشكراً
بالنسبة للدالة strip_tags() فتنفع في الحالة الثانية فقط، حالة طباعة نص الى المتصفح
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder غير متصل   رد مع اقتباس
قديم 16-07-2007, 03:12 AM   #6 (permalink)
مبرمج محترف
 
تاريخ الانتساب: 24-05-2007
مشاركات: 107
مستوى السمعة : 2
Bruce على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

اعتدر عن التطفل اخي coder

بخصوص سؤال محب php

سوف تقوم الدالة بازالة اي وسم html نهائيا وليس ايقاف مفعولة

سلامات
__________________


####################
# My Template Engine
# Authors : Bruce [founder] , Saanina [developer]
# GO ON ++ with version 1.3.2
####################

Bruce غير متصل   رد مع اقتباس
قديم 17-07-2007, 03:36 AM   #7 (permalink)
مطور منتديات mysmartbb
 
تاريخ الانتساب: 22-05-2007
المكان: Syria
مشاركات: 280
مستوى السمعة : 2
ايهاب الغزال على طريق التميز و النجاح
إرسال خطاب MSN إلى ايهاب الغزال إرسال خطاب Yahoo إلى ايهاب الغزال مخاطبة ايهاب الغزال بواسطة برنامج المحادثة سكايب ( Skype )
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

السلام عليكم

اخي محب php هذه الدالة التي ذكرتها لها اهمية اعتبرها قوية نوعا ما في الحماية
فهي تقوم بإستخراج نص وإلغاء وسوم html و اوامر PHP منه


اي يمكن تمرير وسم معين ليتم عرضه مع النص وعدم مسحه .
اذا كان الوسم اللذي تريد تمريره للسماح به يحتوي على اقفال مثل ( <p> </p> ) فيكفي ان تقوم بتمرير الاول منهما <p>

الصيغة العامة
كود PHP:
$new_text strip_tags($text); 
مثال

كود PHP:
$text     '<p>Montada</p><!-- Comment --> Php';
$new_text strip_tags($text);
echo 
$new_text
وناتج المثال

Montada php
__________________

AJAX with PHP Soon
ايهاب الغزال غير متصل   رد مع اقتباس
قديم 17-07-2007, 09:52 AM   #8 (permalink)
عضو نشيط
 
الصورة الرمزية لـ ahmedzain
 
تاريخ الانتساب: 05-06-2007
المكان: مصر
السن: 24
مشاركات: 164
مستوى السمعة : 2
ahmedzain على طريق التميز و النجاح
إرسال خطاب MSN إلى ahmedzain إرسال خطاب Yahoo إلى ahmedzain
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

بسم الله
شكرا لكم على تلك المناقشات التى طرحتموها
ولكنى بصراحة
لم افهم بالنسبة المعقولة
حيث اننى مبتدى

بالتالى

اريد من سيادتكم

توضيح الموضوع لى وللاخوة المبتدئين

ارجو المعذرة من القاء سؤالى على حضراتكم

السلام عليكم
__________________
سبحان الله عدد ما كان وعدد مايكون وعدد الحركات وعدد السكون

ahmedzain غير متصل   رد مع اقتباس
قديم 17-07-2007, 11:44 AM   #9 (permalink)
عضو نشيط
 
الصورة الرمزية لـ shmr
 
تاريخ الانتساب: 14-06-2007
المكان: montadaphp
مشاركات: 78
مستوى السمعة : 2
shmr على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

أخوي coder

ممكن شوي بس مافهمت

عندي المتغيرات التاليه

كود PHP:
$row[vi]

$row[id]

$row[name
كيف امرر عليها الداله قبل عمل الشرط في قاعدة البيانات ؟
shmr غير متصل   رد مع اقتباس
قديم 17-07-2007, 07:47 PM   #10 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

اقتباس:
الكاتب : ahmedzain عرض المشاركة
بسم الله
شكرا لكم على تلك المناقشات التى طرحتموها
ولكنى بصراحة
لم افهم بالنسبة المعقولة
حيث اننى مبتدى

بالتالى

اريد من سيادتكم

توضيح الموضوع لى وللاخوة المبتدئين

ارجو المعذرة من القاء سؤالى على حضراتكم

السلام عليكم
تفضل واذكر ما الشيء الذي لم تفهمه حتى يتم توضيحه

اقتباس:
الكاتب : shmr عرض المشاركة
أخوي coder

ممكن شوي بس مافهمت

عندي المتغيرات التاليه

كود PHP:
$row[vi]

$row[id]

$row[name
كيف امرر عليها الداله قبل عمل الشرط في قاعدة البيانات ؟
كالتالي:

كود PHP:
$row['vi'] = make_safe($row['vi'];
$row['id'] = make_safe($row['id'];
$row['name'] = make_safe($row['name']; 
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder غير متصل   رد مع اقتباس
إضافة رد


LinkBacks (?)
LinkBack to this Thread: http://www.montadaphp.net/t782/
الكاتب For Type التاريخ
[ظ†ظ‚ط§ط´+ ظƒظˆط¯] ظƒظˆط¯ ط­ظ…ط§ظٹظ‡ ط§ظ„ظ…ط¯ط®ظ„ط§طھ - ط³ظˆط§ظ„ظپ ط³ظˆظپطھ This thread Refback 20-10-2008 06:45 AM
مطلوب مساعدة بسيطة - ::TRAIDNT FORUM:: This thread Refback 20-09-2008 07:30 PM
[داله للحمايه] تقي من اخطار ثثغرات xss و sql injection - ::TRAIDNT FORUM:: This thread Refback 23-08-2008 10:12 PM

زوار هذا الموضوع الآن : 1 (0 عضو و 1 ضيف)
 

(View-All Members who have read this thread : 32
3BkReNo0o, abdellahaix, Abu Rakan, أبورنه, ahmedmens, ahmeds_link, محمد الأنصاري, مدردش متقاعد, aladawi, aroon, موهب, ايهاب الغزال, coder, افديك قلبي, DeaD SouL, dr.hussein, drakola, بلال كيالي, بو عبدالرحمن, GADO MAN, gaser, Hakxer, خا999لد, man in dark, midoalone, MIH1406, Mr.x, temora, trahim, vipmaa, فارس الشمري, وعد العمر
أدوات الموضوع
طريقة العرض
عادي عادي

ضوابط المشاركة
غير مصرّح لك بنشر موضوع جديد
غير مصرّح لك بنشر ردود
غير مصرّح لك برفع مرفقات
غير مصرّح لك بتعديل مشاركاتك

وسوم vB : نشيط
كود [IMG] : نشيط
كود هتمل : خامل
Trackbacks are نشيط
Pingbacks are نشيط
Refbacks are نشيط

الانتقال السريع

مواضيع ذات صلة
الموضوع الكاتب المجلس المشاركات المشاركة الأخيرة
[دالة] str_ireplace() [استبدال جزء من النص] coder دوال التعامل مع النصوص 12 11-12-2008 01:26 AM
دالة بسيطة للحماية من اخطار SQLInjection the_unknown دوال خاصة 9 11-11-2008 06:36 PM
دالة طباعة النص بالأكواد كما هو ahmeds_link دوال التعامل مع النصوص 2 20-08-2008 01:39 PM
[دالة] str_replace() [استبدال جزء من النص] coder دوال التعامل مع النصوص 3 06-08-2007 03:05 PM
[دالة] show_source() لتلوين النص ايهاب الغزال دوال التعامل مع النصوص 8 07-06-2007 01:07 AM


يمنع نقل أي من موضوعات المنتدى دون إذن كتابي مسبق من إدارة المنتدى، مع الشكر.
التوقيت حسب جرينتش +3. الساعة الآن 01:57 AM.