السلام عليكم و رحمة الله و بركاته
اخواني سؤال حييرني
لو عندي مثلا نظام تسجيل (عضويات مثلا) و اريد ان اتأكد من ان اليوز نيم المدخل يحوي حروف انجليزية و ارقام و حروف عربية لا غير
اعرف كيف اسوي انجليزية و ارقام و لكن ما السبيل للعربي
بالتوفيق
السلام عليكم و رحمة الله و بركاته
اخواني سؤال حييرني
لو عندي مثلا نظام تسجيل (عضويات مثلا) و اريد ان اتأكد من ان اليوز نيم المدخل يحوي حروف انجليزية و ارقام و حروف عربية لا غير
اعرف كيف اسوي انجليزية و ارقام و لكن ما السبيل للعربي
بالتوفيق
عزيزي انت اعمل بالعكس
ان كان يحوي رموز غريبه فيعطيك خطأ
ما هي اخطر الرموزالمشاركة الأصلية كتبت بواسطة ابو الويس
و لا تنسى ان هناك رموز ال ALT المعروفة الي ما يستخدمها إلا الهكر الي فاهم شغله
فلهذا السبب انا محتار
و جزاك الله كل خير على الرد
تفضل اخي الكريم
سيتم فحص اذا كان المتغير يحتوي على احرف انجليزية كبيرة او صغيرة او ارقام او احرف عربيةكود 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
شكرا للمحاولة
و مازلنا ننتظر الحل
الصراحة الى الان لم افهم ما هو المطلوب بالزبط
لكن اذا كنت تريد فحص المتغير اذا كان يوجد فيه اي رموز غريبه اعتقد هذا الكود مناسب
كود 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
جرب تسوي هالحل ،
اتمنى انه يعمل بشكل صحيح ، طبعا تستخدمة بالطريقة اللي تريحككود 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
باختصار ، انت تريد التأكد من خلو اسم المستخدم من اي رموز غريبة .. او ما الى ذلك ..
هذه تقوم بتهريب اي رموز غريبة ..كود PHP:
$username = mysql_escape_string($_POST['username']);
يتبقى لديك التهريب من اوامر الشل ( للي فاهمين على حد قولك ) وحينها تستخدم :
وبهذا تكون تخلصت في النقطة الاولى من اية خطورة من جهة ال xss ، وفي الثانية من الشل ..كود PHP:
escapeshellarg($username);
واحببت اضافة ان اغلب السيرفرات تكون معدة لتهريب التكست ذاتيا من خلال magic quotes
تحياتي
معلش سؤال
mysql_escape_string
مافهمتش ماذا تقوم بالعمل
هاتفلتر الكلمه
طيب اذا فلترت من الاصل اليوزر مايسجل لانو يريد التسجيل بالإسم قبل الفلتره
فهل هناك تشيك على الإسم
ام مثلا
كود PHP:
if($username=='$user1')
{
echo"no err complete ....";
}
نعم طريقتك صحيحة يالغالي و لكن هناك رموز اكثر بكثير من هذا و اكثرها خطورة رموز ALT و اريد من البرمجية ان تكون اكثر اماناالمشاركة الأصلية كتبت بواسطة Pal Coder
بالتوفيق
Mr.php-ar
ممتاز بارك الله فيك فعلا الفكرة جميله و قيد التنفيذ لم تخطر ببالي ما اعرف ليش تسلم جزاك الله كل خير :app:
Egyptechno
تسلم و لكن رحت لبعيد انا اتكلم عن فورم تجسيل اعضاء لا اريد انا يسجل إلا عربي و انجليزي و ارقام مثلا هذا ما كنت اقصد و لكن تسلم على تواجدك
موقع روش
mysql_escape_string تقوم بتهريب كل الموز المؤذية لقاعدة البيانات لو كان عندك استعلام
و لكنها لا تقوم بتهريب % و _ و لكن ان وجد اي qoutes ( ' ' ) او (" ") يقوم بتهريبها (\' \')
و لكن ان كان الـ magic_quotes_gpc شغال اولا قم بعمل stripslashes
شكرا لكم جميعا
يا سيدي انا لا رحت بعيد ولا قريبكود PHP:
$username = mysql_escape_string($_POST['username']);
if (preg_match("/^[a-zA-Z0-9ا-ي]+$/i", $username)){
echo "tamam";
}else{
echo "No";
}
انت اللي قاعد تقول ALT وما ALT ومحسس نفسك انك داخل حرب
اتمنى ان هذا ما تريده ..
تحياتي
و منكم نستفيد و تسلم على الكوديا سيدي انا لا رحت بعيد ولا قريب
انت اللي قاعد تقول ALT وما ALT ومحسس نفسك انك داخل حرب
اتمنى ان هذا ما تريده ..
تحياتي