الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لا تستعمل POST و GET بعد الان

بدأه microkais في 2 سبتمبر 2010 · 14 رد · 1,654 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

بسم الله الرحمن الرحيم

بعد الصلاة والسلام على اشرف المرسلين

وبعد السلام والتحية

رئيت اليوم ان اقدم لكم بعض  المعلومات ولن اقول دروس لاني مازلت طالبا للعلم و لم ارتقي بعد الى رتبة معلم

من تهمه هذه المعلومات؟

هذه المعلومات هي لاصحاب المواقع؛مطوري الواب؛طلبة العلم(اقصد علم الاعلامية)

المستوى المطلوب؟

متوسط؛متقدم

الموضوع؟

حول استخراج او استقبال البيانات من النامذج

كالمات مفتاحية؟

POST,GET,input_filter

تعودت في استيراد البيانات من النماذج على استخدام POST وGETو لكن و كما تعرفون الطريقة هذي تلزمنا باستعمال اكواد اخرى لتصفية البيانات و مراقبتها

.و ذلك طبعا لحماية هذه البيانات من مختلف الثغرات مثل sql_injection

لكن وبعد ظهور النسخة  5,2,0php اصبح بامكننا استخدام  filter_input وذلك لاستيراد البيانات و تصفياتها في نفس العملية  فكيف يتم ذلك

كود برمجي:

mixed filter_input ( int $type, string $variable_name [, int $filter [, mixed $options]] )
type
INPUT_GET, INPUT_POST, INPUT_COOKIE  ثابت مثل
variable_name
اسم المتغير المراد التعامل معه
filter
نوعية التصفية المراد استعمالها
options
خيارات اخرى

كيفية الاستعمال

<?php
$var=filter_input(INPUT_POST,'text',FILTER_SANITIZE_MAGIC_QUOTES);
?>
مثلا لو ان المتغير    
$_POST['txt']="'0 or 1=1'";
فان
$var=/' 0 or 1=1 /'
?>

في المثال السابق قمنا باستقبال البيانات من النموذج  ثم قمنا بتصفية البيانات , بالنسبة للاخوان اللي ما فهمو السكريبت هذا السكريبت هو عبارة عن فلتر لاظافة "magic_quotes"  و ذلك لمنع  sql_injection

انا متواجد ان شاء الله للرد على استفسارتكم

والسلام عليكم

3
#2

أظنك تقصد ال backslash وليس ال slash

\' 0 or 1=1 \'

تم تعديل هذه المشاركة بواسطة herch في 2 سبتمبر 2010 في 03:48

1
#3
herch كتب:

أظنك تقصد ال backslash وليس ال slash

\' 0 or 1=1 \'

صحيح كلامك صحيح اخي

مشكور

#4

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

ظننت من عنوان الموضوع أنه تم ايجاد method جديدة لارسال البيانات من الـ Form :)

فعلاً الدالة جيدة جداً و تحتوي على العديد من الخيارات لعمل الفلترة و التحقق من البيانات المرسلة

أنا عادة استخدم الدالة : mysql_real_escape_string

جزاك الله خيراً أخي الكريم

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 3 سبتمبر 2010 في 02:12

Everything will be fine when we TALK LESS, DO MORE


#5

عن نفسي أستخدم هذه الدوال لكل متغير مرسل من المستخدم أو متصفح الموقع

$var=htmlspecialchars(strip_tags(addslashes($var)));

أما في لوحة التحكم فلا أستخدم إلا داله addslashes

وهذا ما تم استخدامه في مجله مدارك التي قمت بعملها :)

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#6
MoHaMMaD Pro كتب:

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

ظننت من عنوان الموضوع أنه تم ايجاد method جديدة لارسال البيانات من الـ Form :)

فعلاً الدالة جيدة جداً و تحتوي على العديد من الخيارات لعمل الفلترة و التحقق من البيانات المرسلة

أنا عادة استخدم الدالة : mysql_real_escape_string

جزاك الله خيراً أخي الكريم

بسم الله الرحمن الرحيم

السلام عليكم

صياما مقبولا

اخي كما تعرف ان المشكلة ليست في ارسال البيانات لانه بامكنك ان تحل جميع مشاكل الارسال بالجافا سكريبت او تقنيةالاجاكس او حديثا css3

ولكن المشكل في استقبال البيانات وهنا راح تقابلنا مشاكل السيكورتي و قواعد البيانات و السرفر و صدقني80% من هالمشاكل بتروح بعد ما تعمل verification للبيانات

#7
microkais كتب:

بسم الله الرحمن الرحيم

السلام عليكم

صياما مقبولا

اخي كما تعرف ان المشكلة ليست في ارسال البيانات لانه بامكنك ان تحل جميع مشاكل الارسال بالجافا سكريبت او تقنيةالاجاكس او حديثا css3

ولكن المشكل في استقبال البيانات وهنا راح تقابلنا مشاكل السيكورتي و قواعد البيانات و السرفر و صدقني80% من هالمشاكل بتروح بعد ما تعمل verification للبيانات

كيف يتم حل مشاكل الارسال ب css3

على حد علمي هي للتنسيق فقط :)

In bad state

#8
X-File كتب:

كيف يتم حل مشاكل الارسال ب css3

على حد علمي هي للتنسيق فقط :)

بسم الله الرحمن الرحيم

اولا القي نظرة على هالرابط

هنا

النموذج الموجود بالرابط معتمد كليا على css3 لا جافا سكريبت ولا بي تش بي,وهنا يبرز لنا قوة css3 و القدرة على معالجة بيانات النامذج

صحيح ان الطريقة غير معتمدة كثيرا و لكن css3 بامكانها تعويض الجافا سكريبت,مثلا في عمل مراقبة لانواع البيانات المدخلة في النموذج Form validation

شكرا

#9

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

يتحدث عن

•border-radius pour les bords arrondis

•box-shadow pour les ombres des blocs

•content pour rajouter du contenu au HTML

•gradient pour les dégradés des blocs

•rgba pour avoir des fonds transparents

•text-shadow pour les ombres du texte

وهذا تنسيقات الارسال

input[type=submit],
a.submit{
 background:#ddd;
 background:-moz-linear-gradient(90deg, #0459b7, #08adff); /* Firefox */
 background:-webkit-gradient(linear, left top, left bottom, from(#08adff), to(#0459b7)); /* Webkit */
 border:1px solid #093c75;
 -moz-border-radius:3px;
 -webkit-border-radius:3px;
 -moz-box-shadow:0 1px 0 #fff;
 -webkit-box-shadow:0 1px 0 #fff;
 color:#fff;
 cursor:pointer;
 font-family:Arial,sans-serif;
 font-size:12px;
 font-weight:bold;
 margin-left:120px;
 padding:5px 10px;
 text-decoration:none;
 text-shadow:0 1px 1px #333;
 text-transform:uppercase;
}
input[type=submit]:hover,
a.submit:hover{
 background:#eee;
 background:-moz-linear-gradient(90deg, #067cd3, #0bcdff);
 background:-webkit-gradient(linear, left top, left bottom, from(#0bcdff), to(#067cd3));
 border-color:#093c75;
 text-decoration:none;
}
input[type=submit]:active,
input[type=submit]:focus,
a.submit:active,
a.submit:focus{
 background:#ccc;
 background:-moz-linear-gradient(90deg, #0bcdff, #067cd3);
 background:-webkit-gradient(linear, left top, left bottom, from(#067cd3), to(#0bcdff));
 border-color:#093c75;
 outline:none;
}

In bad state

#10

انا كمان افتكرت من عنوان الموضوع ان اتعمل طريقة جديدة للارسال غير get و POST

انا عادة بستخدم MYSQL_REAL_ESCAPE_STRING

#11
microkais كتب:

بسم الله الرحمن الرحيم

السلام عليكم

صياما مقبولا

اخي كما تعرف ان المشكلة ليست في ارسال البيانات لانه بامكنك ان تحل جميع مشاكل الارسال بالجافا سكريبت او تقنيةالاجاكس او حديثا css3

ولكن المشكل في استقبال البيانات وهنا راح تقابلنا مشاكل السيكورتي و قواعد البيانات و السرفر و صدقني80% من هالمشاكل بتروح بعد ما تعمل verification للبيانات

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

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

ولكن كما قال أخي عبد الـ CSS3 هي للتنسيق فقط ولا يمكن معالجة البيانات بها أو ارسالها عن طريقها

الفكرة في الرابط الذي وضعته أخي و المقصود من كتابتهم أن هذا الفورم ليس فيها Javascript لا يعني أن البيانات ترسل أو تعالج عن طريق الـ CSS3

بل المقصود و الله أعلم أن هناك طرق متبعة قبل اعتماد الـ CSS3 لانشاء الحواف الدائرية و بعض التنسيقات تعتمد على الـ Javascript

فاستعيض عن هذه الطرق في هذا المثال بالـ CSS3 فقط

اعتقد أن هذا المقصود من عدم وجود Javascript في الكود

لأن في هذا المثال البيانات لا يتم ارسالها ولا استقبالها و لا معالجتها

فلو نظرنا إلى هذا :

<a href="#finish" class="submit">Envoyer</a>

هذا هو زر الارسال المزعوم smile.gif

فالجملة التي تظهر عند الضغط على الزر تظهر بجميع الأحوال أخي العزيز بدون أي ارسال أو معالجة

هذا ما تبين لي والله تعالى أعلم

بتوفيق الله..

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 5 سبتمبر 2010 في 14:52

Everything will be fine when we TALK LESS, DO MORE


#12
MoHaMMaD Pro كتب:

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

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

ولكن كما قال أخي عبد الـ CSS3 هي للتنسيق فقط ولا يمكن معالجة البيانات بها أو ارسالها عن طريقها

الفكرة في الرابط الذي وضعته أخي و المقصود من كتابتهم أن هذا الفورم ليس فيها Javascript لا يعني أن البيانات ترسل أو تعالج عن طريق الـ CSS3

بل المقصود و الله أعلم أن هناك طرق متبعة قبل اعتماد الـ CSS3 لانشاء الحواف الدائرية و بعض التنسيقات تعتمد على الـ Javascript

فاستعيض عن هذه الطرق في هذا المثال بالـ CSS3 فقط

اعتقد أن هذا المقصود من عدم وجود Javascript في الكود

لأن في هذا المثال البيانات لا يتم ارسالها ولا استقبالها و لا معالجتها

فلو نظرنا إلى هذا :

<a href="#finish" class="submit">Envoyer</a>

هذا هو زر الارسال المزعوم smile.gif

فالجملة التي تظهر عند الضغط على الزر تظهر بجميع الأحوال أخي العزيز بدون أي ارسال أو معالجة

هذا ما تبين لي والله تعالى أعلم

بتوفيق الله..

بسم الله الرحمن الرحيم

السلام عليكم

لقد حصل سوء تفاهم

تحدثت عن css3 لاني اعرف قدرتها على التعامل معا البيانات,وعندما تحدثت عن مشاكل الارسال كنت اقصد عمل verification للبيانات قبل ارسالها يعني مثلا التحقق من ان كل البيانات هي من النوع string

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

#13
microkais كتب:

بسم الله الرحمن الرحيم

السلام عليكم

لقد حصل سوء تفاهم

تحدثت عن css3 لاني اعرف قدرتها على التعامل معا البيانات,وعندما تحدثت عن مشاكل الارسال كنت اقصد عمل verification للبيانات قبل ارسالها يعني مثلا التحقق من ان كل البيانات هي من النوع string

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

استاذي الكريم بارك الله بك

كيف يتم عمل تحقق من نوع البيانات المدخلة عن طريق الـ CSS3

في المثال (الرابط) المطروح من قبلك لا يوجد ما يدل على أن هناك تحقق من البيانات المدخلة بل لا يوجد أي تحقق والله أعلم

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

هذا والله أعلم

على كل حال جزاك الله كل الخير أخي

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 6 سبتمبر 2010 في 00:04

1

Everything will be fine when we TALK LESS, DO MORE


#14

ما يتحكم بصفحة ال html هو ال dtd

ولا يتحكم بالمدخلات وانما يتحكم بالوسوم وطريقة تراتيبها

In bad state

#15
MoHaMMaD Pro كتب:

استاذي الكريم بارك الله بك

كيف يتم عمل تحقق من نوع البيانات المدخلة عن طريق الـ CSS3

في المثال (الرابط) المطروح من قبلك لا يوجد ما يدل على أن هناك تحقق من البيانات المدخلة بل لا يوجد أي تحقق والله أعلم

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

هذا والله أعلم

على كل حال جزاك الله كل الخير أخي

بسم الله الرحمن الرحيم

الله يكرمك,انت الاستاذ و انا التلميذ

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

ولكن تبين لي ان تقنية ajax هي المستخدمة و css3 استعملت للتاثير على الفورم

ولكني اوكد لك ان مطوري css يسعون لتطوير قدرات هذه اللغة و صولا الى تعويض تقنية الاجاكس

مشكور و اسف على الازعاج

الله يسترك ويزدك علم

مواضيع مشابهة