التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#1 (permalink)  
Arabic - Regular expression ما الحل


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


اخواني سؤال حييرني

لو عندي مثلا نظام تسجيل (عضويات مثلا) و اريد ان اتأكد من ان اليوز نيم المدخل يحوي حروف انجليزية و ارقام و حروف عربية لا غير

اعرف كيف اسوي انجليزية و ارقام و لكن ما السبيل للعربي


بالتوفيق






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 05-11-2006, 05:58 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#2 (permalink)  

عزيزي انت اعمل بالعكس

ان كان يحوي رموز غريبه فيعطيك خطأ






ابو الويس غير متواجد حالياً   قديم 05-11-2006, 11:32 AM
رد مع اقتباس
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#3 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة ابو الويس
عزيزي انت اعمل بالعكس

ان كان يحوي رموز غريبه فيعطيك خطأ
ما هي اخطر الرموز

و لا تنسى ان هناك رموز ال ALT المعروفة الي ما يستخدمها إلا الهكر الي فاهم شغله

فلهذا السبب انا محتار

و جزاك الله كل خير على الرد






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 05-11-2006, 01:07 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#4 (permalink)  

تفضل اخي الكريم

كود PHP:

$user 
'mohammed';

if (
ereg("[a-z]"$user) ||
    
ereg("[0-9]"$user) ||
    
ereg("[A-Z]"$user) ||
    
ereg("[أ-ي]"$user)) {

        echo 
bye;

سيتم فحص اذا كان المتغير يحتوي على احرف انجليزية كبيرة او صغيرة او ارقام او احرف عربية






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 05-11-2006, 02:35 PM
رد مع اقتباس
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#5 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Pal Coder
تفضل اخي الكريم

كود PHP:

$user 
'mohammed';

if (
ereg("[a-z]"$user) ||
    
ereg("[0-9]"$user) ||
    
ereg("[A-Z]"$user) ||
    
ereg("[أ-ي]"$user)) {

        echo 
bye;

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

شكرا للمحاولة

و مازلنا ننتظر الحل






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 05-11-2006, 09:44 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#6 (permalink)  

الصراحة الى الان لم افهم ما هو المطلوب بالزبط

لكن اذا كنت تريد فحص المتغير اذا كان يوجد فيه اي رموز غريبه اعتقد هذا الكود مناسب

كود PHP:

$_arr 
= array('<''>''|''"''['']''\\'',''@''\''' ');

foreach (
$_arr as $value)
{
        if (
strpos($username$value) !== false) {
                die(
'Bad ...');
        }







__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 06-11-2006, 04:12 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#7 (permalink)  

جرب تسوي هالحل ،

كود PHP:
<?

$ArCharset 
= array(
                   
"أ",
                   
"ا",
                   
"ب",
                   
"ت",
                   
"ث",
                   
"ج",
                   
"ح",
                   
"خ",
                   
"د",
                   
"ذ",
                   
"ر",
                   
"ز");

// by : naifphp
function CheckArCharset($username)
{
   global 
$ArCharset;
   
$is_true 1;

     for(
$i=0$i strlen($username); $i++)
     {
         
$user[] = $username[$i];
     }


     foreach(
$user AS $k=>$Charset)
     {
         if(
in_array($Charset,$ArCharset))
         {
             
//echo " Yes <br>";
         
}
         else
         {
             
//echo " No <br>";
             
$is_true 0;
         }
     }

  return 
$is_true;
}



// Example (1):

$username "احصمر";

if(
CheckArCharset($username) == 0)
{
   echo 
" sorry , error !! ";
}
else
{
     echo 
" thanks , you registered ! ";
    
// register ..
}

echo 
"<hr>";

// example (2) :

$username "بحر";

if(
CheckArCharset($username) == 0)
{
   echo 
" sorry , error !! ";
}
else
{
     echo 
" thanks , you registered ! ";
    
// register ..
}
?>
اتمنى انه يعمل بشكل صحيح ، طبعا تستخدمة بالطريقة اللي تريحك
ممكن حتى تدخل الحروف العربية + الانجليزيه + الارقام المسموح بها في التسجيل داخل المصفوفه


تحياتي






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 06-11-2006, 07:48 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jul 2003-
#8 (permalink)  

باختصار ، انت تريد التأكد من خلو اسم المستخدم من اي رموز غريبة .. او ما الى ذلك ..


كود PHP:
$username mysql_escape_string($_POST['username']); 
هذه تقوم بتهريب اي رموز غريبة ..

يتبقى لديك التهريب من اوامر الشل ( للي فاهمين على حد قولك ) وحينها تستخدم :
كود PHP:
escapeshellarg($username); 
وبهذا تكون تخلصت في النقطة الاولى من اية خطورة من جهة ال xss ، وفي الثانية من الشل ..


واحببت اضافة ان اغلب السيرفرات تكون معدة لتهريب التكست ذاتيا من خلال magic quotes


تحياتي






__________________
النسخة الثانية من ابلود بلس قريبا جدا :
+ شريط مئوي لرفع الملفات
+ دعم اكثر من سيرفر لرفع الملفات Multi-Server
+ مكتبة ملفات مؤرشفة
Egyptechno غير متواجد حالياً   قديم 06-11-2006, 06:48 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Nov 2005-
#9 (permalink)  

معلش سؤال
mysql_escape_string
مافهمتش ماذا تقوم بالعمل

هاتفلتر الكلمه
طيب اذا فلترت من الاصل اليوزر مايسجل لانو يريد التسجيل بالإسم قبل الفلتره
فهل هناك تشيك على الإسم
ام مثلا
كود PHP:
if($username=='$user1')
{
echo
"no err complete ....";







موقع روش غير متواجد حالياً   قديم 06-11-2006, 10:07 PM
رد مع اقتباس
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#10 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Pal Coder
الصراحة الى الان لم افهم ما هو المطلوب بالزبط

لكن اذا كنت تريد فحص المتغير اذا كان يوجد فيه اي رموز غريبه اعتقد هذا الكود مناسب

كود PHP:

$_arr 
= array('<''>''|''"''['']''\\'',''@''\''' ');

foreach (
$_arr as $value)
{
        if (
strpos($username$value) !== false) {
                die(
'Bad ...');
        }

نعم طريقتك صحيحة يالغالي و لكن هناك رموز اكثر بكثير من هذا و اكثرها خطورة رموز ALT و اريد من البرمجية ان تكون اكثر امانا

بالتوفيق






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 07-11-2006, 07:41 AM
رد مع اقتباس
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#11 (permalink)  

Mr.php-ar

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


Egyptechno

تسلم و لكن رحت لبعيد انا اتكلم عن فورم تجسيل اعضاء لا اريد انا يسجل إلا عربي و انجليزي و ارقام مثلا هذا ما كنت اقصد و لكن تسلم على تواجدك


موقع روش

mysql_escape_string تقوم بتهريب كل الموز المؤذية لقاعدة البيانات لو كان عندك استعلام

و لكنها لا تقوم بتهريب % و _ و لكن ان وجد اي qoutes ( ' ' ) او (" ") يقوم بتهريبها (\' \')

و لكن ان كان الـ magic_quotes_gpc شغال اولا قم بعمل stripslashes

شكرا لكم جميعا






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 07-11-2006, 07:53 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jul 2003-
#12 (permalink)  

كود PHP:
$username mysql_escape_string($_POST['username']);
if (
preg_match("/^[a-zA-Z0-9ا-ي]+$/i"$username)){
echo 
"tamam";
}else{
echo 
"No";

يا سيدي انا لا رحت بعيد ولا قريب
انت اللي قاعد تقول ALT وما ALT ومحسس نفسك انك داخل حرب


اتمنى ان هذا ما تريده ..

تحياتي






__________________
النسخة الثانية من ابلود بلس قريبا جدا :
+ شريط مئوي لرفع الملفات
+ دعم اكثر من سيرفر لرفع الملفات Multi-Server
+ مكتبة ملفات مؤرشفة
Egyptechno غير متواجد حالياً   قديم 09-11-2006, 02:59 PM
رد مع اقتباس
مشرف قسمي تطوير الويب و تقنية محركات البحث
تاريخ التسجيل: Jun 2003-
#13 (permalink)  

اقتباس:
يا سيدي انا لا رحت بعيد ولا قريب
انت اللي قاعد تقول ALT وما ALT ومحسس نفسك انك داخل حرب


اتمنى ان هذا ما تريده ..

تحياتي
و منكم نستفيد و تسلم على الكود






__________________
سبحان الله و بحمده .... سبحان الله العظيم

للمراسلة
b happy غير متواجد حالياً   قديم 09-11-2006, 03:23 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 12:28 PM بتوقيت المملكة العربية السعودية