PDA

View Full Version : آموزش: جلوگیری از ثبت نام دو آیپی یکسان در یک فرم



aliforever
سه شنبه 14 شهریور 1391, 10:55 صبح
سلام . خسته نباشید .
من یه فرم ثبت نام دارم ماله تراوین هست .

این register.phtml هست :

<?php


require_once( LANG_UI_PATH."register.php" );
echo "<h1><img src=\"assets/x.gif\" class=\"anmelden\" alt=\"";
echo LANGUI_REG_T1;
echo "\"></h1> \r\n<h5><img src=\"assets/x.gif\" class=\"img_u05\" alt=\"";
echo LANGUI_REG_T2;
echo "\"/></h5> \r\n\r\n";
if ( !$this->success )
{
echo "<p>";
echo LANGUI_REG_T3;
echo " <a href=\"manual.php\" target=\"_blank\">";
echo LANGUI_REG_T4;
echo "</a> ";
echo LANGUI_REG_T5;
echo ".</p> \r\n<form method=\"post\" action=\"register.php\"> \r\n<table cellpadding=\"1\" cellspacing=\"1\" id=\"sign_input\"> \r\n\t<tbody> \r\n\t\t<tr class=\"top\"> \r\n\t\t\t<th>";
echo LANGUI_REG_T6;
echo ":</td> \r\n\t\t\t<td><input class=\"text\" type=\"text\" name=\"name\" value=\"";
if ( isset( $_POST['name'] ) )
{
echo htmlspecialchars( trim( $_POST['name'] ) );
}
else if ( isset( $this->SNdata['user_name'] ) )
{
echo $this->SNdata['user_name'];
}
echo "\" maxlength=\"15\" /> ";
echo "<s";
echo "pan class=\"error\">";
echo $this->err[0];
echo "</span></td> \r\n\t\t</tr> \r\n\t\t<tr> \r\n\t\t\t<th>";
echo LANGUI_REG_T7;
echo "</th> \r\n\t\t\t<td><input class=\"text\" type=\"text\" name=\"email\" value=\"";
if ( isset( $_POST['email'] ) )
{
echo trim( $_POST['email'] );
}
else if ( isset( $this->SNdata['email'] ) )
{
echo $this->SNdata['email'];
}
echo "\" maxlength=\"40\" /> ";
echo "<s";
echo "pan class=\"error\">";
echo $this->err[1];
echo "</span></td> \r\n\t\t</tr> \r\n\t\t<tr class=\"btm\">\r\n\t\t\t<th>";
echo LANGUI_REG_T8;
echo "</th>\r\n\t\t\t<td><input class=\"text\" type=\"password\" name=\"pwd\" value=\"";
if ( isset( $_POST['pwd'] ) )
{
echo trim( $_POST['pwd'] );
}
echo "\" maxlength=\"20\" /> ";
echo "<s";
echo "pan class=\"error\">";
echo $this->err[2];
echo "</span></td> \r\n\t\t</tr> \r\n\t</tbody> \r\n</table> \r\n\r\n<table cellpadding=\"1\" cellspacing=\"1\" id=\"sign_select\"> \r\n\t<tbody> \r\n\t\t<tr class=\"top\"> \r\n\t\t\t<th><img src=\"assets/x.gif\" class=\"img_u06\" alt=\"";
echo LANGUI_REG_T9;
echo "\"></th> \r\n\t\t\t<th colspan=\"2\"><img src=\"assets/x.gif\" class=\"img_u07\" alt=\"";
echo LANGUI_REG_T10;
echo "\"></th> \r\n\t\t</tr> \r\n\t\t\r\n\t\t<tr> \r\n\t\t\t<td class=\"nat\"><label><input class=\"radio\" type=\"radio\" name=\"tid\" value=\"6\" ";
if ( isset( $_POST['tid'] ) && $_POST['tid'] == 6 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo tribe_6;
echo "</label></td> \r\n\t\t\t<td class=\"pos1\"><label><input class=\"radio\" type=\"radio\" name=\"kid\" value=\"0\" ";
if ( !isset( $_POST['kid'] ) || $_POST['kid'] == 0 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo LANGUI_REG_T11;
echo "</label></td> \r\n\t\t\t<td class=\"pos2\">&nbsp;</td> \r\n\t\t</tr> \r\n\r\n\t\t\r\n\t\t<tr> \r\n\t\t\t<td class=\"nat\"><label><input class=\"radio\" type=\"radio\" name=\"tid\" value=\"7\" ";
if ( isset( $_POST['tid'] ) && $_POST['tid'] == 7 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo tribe_7;
echo "</label></td> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"kid\" value=\"1\" ";
if ( isset( $_POST['kid'] ) && $_POST['kid'] == 1 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo LANGUI_REG_T12;
echo "</label></td> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"kid\" value=\"2\" ";
if ( isset( $_POST['kid'] ) && $_POST['kid'] == 2 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo LANGUI_REG_T13;
echo "</label></td> \r\n\t\t</tr> \r\n\t\t<tr> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"tid\" value=\"2\" ";
if ( isset( $_POST['tid'] ) && $_POST['tid'] == 2 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo tribe_2;
echo "</label></td> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"kid\" value=\"3\" ";
if ( isset( $_POST['kid'] ) && $_POST['kid'] == 3 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo LANGUI_REG_T14;
echo "</label></td> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"kid\" value=\"4\" ";
if ( isset( $_POST['kid'] ) && $_POST['kid'] == 4 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo LANGUI_REG_T15;
echo "</label></td> \r\n\t\t</tr> \r\n\t\t<tr>\r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"tid\" value=\"3\" ";
if ( isset( $_POST['tid'] ) && $_POST['tid'] == 3 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo tribe_3;
echo "</label></td> \r\n\t\t\t<td rowspan=\"2\"></td> \r\n\t\t</tr>\r\n\t\t<tr class=\"btm\"> \r\n\t\t\t<td><label><input class=\"radio\" type=\"radio\" name=\"tid\" value=\"1\" ";
if ( isset( $_POST['tid'] ) && $_POST['tid'] == 1 )
{
echo "checked=\"checked\"";
}
echo ">&nbsp;";
echo tribe_1;
echo "</label></td> \r\n\t\t\t<td rowspan=\"2\"></td> \r\n\t\t</tr>\t\t\r\n\t</tbody> \r\n</table> \r\n\r\n<ul class=\"important\">";
echo $this->err[3];
echo "</ul> \r\n<p class=\"btn\"><input type=\"image\" value=\"anmelden\" name=\"s1\" id=\"btn_signup\" class=\"dynamic_img\" src=\"assets/x.gif\" alt=\"";
echo LANGUI_REG_T16;
echo "\"/></p>\r\n</form> \r\n\r\n<p class=\"info\">";
echo LANGUI_REG_T17;
echo "</p>\r\n";
}
else
{
echo "<p>\r\n";
echo LANGUI_REG_T18;
echo " <b>";
if ( isset( $_POST['name'] ) )
{
echo trim( $_POST['name'] );
}
echo "</b> <br><br>\r\n";
echo LANGUI_REG_T19;
echo ": ";
echo "<s";
echo "pan class=\"important\">";
if ( isset( $_POST['email'] ) )
{
echo trim( $_POST['email'] );
}
echo "</span>\r\n</p>\r\n";
}
?>

این هم register.php هست :

<?php
/*********************/
/* */
/* Version : 5.1.0 */
/* Author : Travian-iran */
/* Comment : admin 02121 */
/* */
/*********************/
require( ".".DIRECTORY_SEPARATOR."app".DIRECTORY_SEPARATOR."boot.php" );
require_once( MODEL_PATH."register.php" );

class GPage extends gamepage
{

public $err = array
(
0 => "",
1 => "",
2 => "",
3 => ""
);
public $success = NULL;
public $SNdata = NULL;
public $UserID = 0;

public function GPage( )
{
parent::gamepage( );
$this->viewFile = "register.phtml";
$this->contentCssClass = "signup";
}

public function load( )
{
parent::load( );
$this->SNdata = 0;
$this->success = FALSE;
if ( $this->isPost( ) )
{
if ( $this->globalModel->isGameOver( ) )
{
$this->redirect( "over.php" );
}
else
{
$name = trim( $_POST['name'] );
$email = trim( $_POST['email'] );
$pwd = trim( $_POST['pwd'] );
$this->err[0] = strlen( $name ) < 3 ? register_player_txt_notless3 : "";
if ( $this->err[0] == "" )
{
$this->err[0] = preg_match( "/[:,\\. \\n\\r\\t\\s]+/", $name ) ? register_player_txt_invalidchar : "";
$this->err[0] = preg_match( "/[<,\\. \\n\\r\\t\\s]+/", $name ) ? register_player_txt_invalidchar : "";
$this->err[0] = preg_match( "/[>,\\. \\n\\r\\t\\s]+/", $name ) ? register_player_txt_invalidchar : "";
}
if ( $name == "[ally]" || $name == "admin" || $name == "administrator" || $name == "مدير" || $name == "تتار" || $name == "التتار" || $name == "دعم" || $name == "الدعم" || $name == $this->appConfig['system']['adminName'] || $name == tatar_tribe_player )
{
$this->err[0] = register_player_txt_reserved;
}
$this->err[1] = !preg_match( "/^[^@]+@[a-zA-Z0-9._-]+\\.[a-zA-Z]+\$/", $email ) ? register_player_txt_invalidemail : "";
$this->err[2] = strlen( $pwd ) < 4 ? register_player_txt_notless4 : "";
$this->err[3] = !isset( $_POST['tid'] ) || $_POST['tid'] != 1 && $_POST['tid'] != 2 && $_POST['tid'] != 3 && $_POST['tid'] != 6 && $_POST['tid'] != 7 ? "<li>".register_player_txt_choosetribe."</li>" : "";
$this->err[3] .= !isset( $_POST['kid'] ) || !is_numeric( $_POST['kid'] ) || $_POST['kid'] < 0 || 4 < $_POST['kid'] ? "<li>".register_player_txt_choosestart."</li>" : "";
if ( 0 < strlen( $this->err[0] ) || 0 < strlen( $this->err[1] ) || 0 < strlen( $this->err[2] ) || 0 < strlen( $this->err[3] ) )
{
return;
}
$m = new RegisterModel( );
$this->err[0] = $m->isPlayerNameExists( $name ) ? register_player_txt_usedname : "";
$this->err[1] = $m->isPlayerEmailExists( $email ) ? register_player_txt_usedemail : "";
if ( 0 < strlen( $this->err[0] ) || 0 < strlen( $this->err[1] ) )
{
$m->dispose( );
}
else
{
$villageName = new_village_name_prefix." ".$name;
#removed 'PLAYERTYPE_NORMAL' right after map_size thing. Dunno why it doesnt make him player_type = 1 but owke.
$result = $m->createNewPlayer( $name, $email, $pwd, $_POST['tid'], $_POST['kid'], $villageName, $this->setupMetadata['map_size'], 1, 1, $this->SNdata );
if ( $result['hasErrors'] )
{
$this->err[3] = register_player_txt_fullserver;
$m->dispose( );
}
else
{
$m->dispose( );
$link = WebHelper::getbaseurl( )."activate.php?id=".$result['activationCode'];
$to = $email;
$from = $this->appConfig['system']['email'];
$subject = register_player_txt_regmail_sub;
$message = sprintf( register_player_txt_regmail_body, $name, $name, $pwd, $link, $link );
WebHelper::sendmail( $to, $from, $subject, $message );
$this->success = TRUE;
}
}
}
}
}

}


$p = new GPage( );
$p->run( );
?>


حالا من میخوام علاوه بر اطلاعات بازیکن از قبیل ایمیل و پسورد ، آیپی اون هم در بانک اطلاعاتی در فیلد reg_ip واقع در دیتابیس tra و تیبل p_players ذخیره شه و وقتی بازیکن خواست با آیپی یکسان ثبت نام کنه نتونه .
من زیاد بلد نیستم php اگه میشه مشکل من رو حل کنید . ممنون . :قلب:

Sajjad.Aghapour
سه شنبه 14 شهریور 1391, 11:46 صبح
مکانیزم هایی مثل NAT رو می خوای چیکار کنی؟؟!!!

aliforever
سه شنبه 14 شهریور 1391, 14:19 عصر
منظورتون رو متوجه نمیشم .
من سرور تراوین دارم . این ها هم فایلهای خود اسکریپت هست و من دستکاری نکردم . اگر مشکل هست یادم بدید درست کنم .
فقط اگه میشه کد جلوگیری از ثبت نام با آیپی یکسان را یاد بدید که چطوری تو اسکریپت جاش بدم ؟؟

Sajjad.Aghapour
سه شنبه 14 شهریور 1391, 14:53 عصر
فرض کنید یک ISP با هزار کاربر خانگی. این ISP یک روتر برای روت کردن درخواست های کاربران خودش داره. در این صورت تمامی هزار کاربری که داره با یک IP توی وب شناخته میشن. یعنی هیچ کدوم از IP های کاربران Valid نیست و تنها IP اون Router هست که Valid هست(به این مکانیزم NAT (http://en.wikipedia.org/wiki/Network_address_translation)یا Network Address Translation گفته میشه). در این صورت اگر یک نفر بین این هزار نفر توی سایت شما ثبت نام کرده باشه بقیه نمیتونن دیگه با سایت شما کار کنن...

به نظرم از Cookie استفاده کنید خیلی بهتره...

موفق باشید/

tdkhakpur
سه شنبه 14 شهریور 1391, 15:48 عصر
فرض کنید یک ISP با هزار کاربر خانگی. این ISP یک روتر برای روت کردن درخواست های کاربران خودش داره. در این صورت تمامی هزار کاربری که داره با یک IP توی وب شناخته میشن. یعنی هیچ کدوم از IP های کاربران Valid نیست و تنها IP اون Router هست که Valid هست(به این مکانیزم NAT (http://en.wikipedia.org/wiki/Network_address_translation)یا Network Address Translation گفته میشه). در این صورت اگر یک نفر بین این هزار نفر توی سایت شما ثبت نام کرده باشه بقیه نمیتونن دیگه با سایت شما کار کنن..NAT فقط آی پی رو ثابت نگه میداره برای هر کاربر پورت جدا ضمیمه پاکت هاش میکنه اگه پورت رو بتونه ثبت کنه نباید مشکلی داشته باشه.
البته راههای زیادی داره مثل ثبت مشخصات کامپیوتر کاربر.

aliforever
سه شنبه 14 شهریور 1391, 15:50 عصر
آقا اگه میشه از Nat بکشید بیرون .
سوال من اینه که چطوری آیپی فیلتر اضافه کنم به این فرم رجیستر .
که تو بانک اطلاعاتی ذخیره کنه و از اون بخونه آیپی رو و نزاره یه کاربر با آیپی یکسان ثبت نام کنه .
ول کنید Nat رو .

tdkhakpur
سه شنبه 14 شهریور 1391, 16:03 عصر
آقا اگه میشه از Nat بکشید بیرون .
سوال من اینه که چطوری آیپی فیلتر اضافه کنم به این فرم رجیستر .
که تو بانک اطلاعاتی ذخیره کنه و از اون بخونه آیپی رو و نزاره یه کاربر با آیپی یکسان ثبت نام کنه .
ول کنید Nat رو .
این آی پی کلاینت رو بهت میده
<?php
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else
{
$ip=$_SERVER['REMOTE_ADDR'];
} return $ip;
}
echo getRealIpAddr();
?>

aliforever
سه شنبه 14 شهریور 1391, 16:30 عصر
ممنون از کدتون .
من میگم php بلد نیستم .
به جای اینکه 1000 تا جواب بی تاثیر بدید ، دو تا فایل بالا گذاشتم ، اگه بلدید ویرایش کنید و به اسکریپت بفهمونید که اگه آیپی تو سیستم بود نزار رجیستر کنه . والا این سومین باره من اینو میگم .

Sajjad.Aghapour
سه شنبه 14 شهریور 1391, 16:36 عصر
NAT فقط آی پی رو ثابت نگه میداره برای هر کاربر پورت جدا ضمیمه پاکت هاش میکنه اگه پورت رو بتونه ثبت کنه نباید مشکلی داشته باشه.
بله. این راهکار NAT هست برای اینکه Packet ها گم نشن. اما شما حتی وقتی Packet رو هم آنالیز کنی باز باید به جدول Translation اون Router دسترسی داشته باشی تا بتونی آدرس داخلی اون Device رو پیدا کنی که نداری.

در کل تابعی که شما هم گذاشتید دردی از این دوست عزیز دوا نمیکنه. معمولا این کار که بر اساس IP این کار رو انجام بدی پیشنهاد نمیشه. یعنی حداقل من پیشنهاد نمیکنم...

Sajjad.Aghapour
سه شنبه 14 شهریور 1391, 16:40 عصر
ممنون از کدتون .
من میگم php بلد نیستم .
به جای اینکه 1000 تا جواب بی تاثیر بدید ، دو تا فایل بالا گذاشتم ، اگه بلدید ویرایش کنید و به اسکریپت بفهمونید که اگه آیپی تو سیستم بود نزار رجیستر کنه . والا این سومین باره من اینو میگم .

یکی از دوستای من هم نه برنامه نویسی بلد بود نه شبکه. بعد پروژه پایانیش رو برنامه نویسی شبکه انتخاب کرده بود. و نتونست انجامش بده. بهتره بدید یه نفر براتون بنویسه وقتی PHP بلد نیستید....

موفق باشید/

aliforever
سه شنبه 14 شهریور 1391, 17:24 عصر
عجب !!!
شما اشتباه متوجه میشید منظور من رو !!!
این یک کد فوق پیشرفته نیست دوست عزیز .
شما هم اگر بلد نیستید پست ندید که یه نوع اسپم محسوب میشه .
من تا حالا تو این انجمن چندبار تاپیک زدم دوستانی مثل آقای شهرکی کد ها رو دادن به من .
شما انگار تازه اومدین . پس بحث رو به حاشیه نکشید .

دوستان اگر میتونن این کد رو برای من درست کنند ممنونشون میشم .

eshpilen
سه شنبه 14 شهریور 1391, 21:44 عصر
این آی پی کلاینت رو بهت میده
<?php
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else
{
$ip=$_SERVER['REMOTE_ADDR'];
} return $ip;
}
echo getRealIpAddr();
?>
این کد رو هرکس اولین بار اختراع و منتشر کرد یا خودش هکر بوده یا واقعا نمیدونسته که این کد یک حفرهء امنیتی بزرگتر ایجاد میکنه، و بنابراین هکرها الان از کارش خیلی خوشحال میباشند.
هرجا چنین کدی برای ایجاد محدودیت استفاده کردید بگید من یه تستی روش انجام بدم. لوکال تست کردم اما تست واقعیش یه چیز دیگس :لبخند:

tdkhakpur
سه شنبه 14 شهریور 1391, 22:17 عصر
این کد رو هرکس اولین بار اختراع و منتشر کرد یا خودش هکر بوده یا واقعا نمیدونسته که این کد یک حفرهء امنیتی بزرگتر ایجاد میکنه، و بنابراین هکرها الان از کارش خیلی خوشحال میباشند.
هرجا چنین کدی برای ایجاد محدودیت استفاده کردید بگید من یه تستی روش انجام بدم. لوکال تست کردم اما تست واقعیش یه چیز دیگس :لبخند:
اساس این روش برای ایجاد فیلترینگ مناسب نیست اما اگه شما بهتری داری بزار ما فیض ببریم!
کامپیوتر خودت رو سرور کردی و روش تست رو انجام دادی آره؟!!

aliforever
سه شنبه 14 شهریور 1391, 22:38 عصر
دوستان خواهش میکنم .
من هر بار میام فک می کنم جواب رو نوشتین . در حالیکه اسپم دادید و ...
این آقای شهرکی کجاست بیاد رسیدگی کنه

tdkhakpur
سه شنبه 14 شهریور 1391, 23:38 عصر
من هر بار میام فک می کنم جواب رو نوشتین . در حالیکه اسپم دادید و ...
این آقای شهرکی کجاست بیاد رسیدگی کنه
دوست عزیز با این کدی که شما قرار دادی میخای یکی بیاد چیکار کنه خب اون تابع رو بزار یه گوشه ای از شرطهای مجوز ورود یا هر چی هست و داده های اون رو با موجودی بانکت چک کن.

aliforever
چهارشنبه 15 شهریور 1391, 10:13 صبح
دوست عزیز با این کدی که شما قرار دادی میخای یکی بیاد چیکار کنه خب اون تابع رو بزار یه گوشه ای از شرطهای مجوز ورود یا هر چی هست و داده های اون رو با موجودی بانکت چک کن.
عجب !!!
شما تاپیک رو از اول خوندی ؟؟؟
من میگم php بلد نیستم میگه تابع رو اینجوری کن اونجوری کن .
بابا اونجا که نام کاربری و ایمیل و رمز عبور رو تو بانک اطلاعاتی ذخیره میکنه ، من میخوام یه فیلد مخفی هم باشه که آیپیش رو تو بانک ذخیره کنه و بعد وقتی بازیکن خواست دوباره ثبت نام کنه این اجازه رو بهش نده !!!
ببینید من این جمله رو چندبار گفتم آخه . خدا رحم کنه !!!

Sajjad.Aghapour
چهارشنبه 15 شهریور 1391, 11:20 صبح
عجب !!!
شما اشتباه متوجه میشید منظور من رو !!!
این یک کد فوق پیشرفته نیست دوست عزیز .
شما هم اگر بلد نیستید پست ندید که یه نوع اسپم محسوب میشه .
شما انگار تازه اومدین . پس بحث رو به حاشیه نکشید .

دوستان اگر میتونن این کد رو برای من درست کنند ممنونشون میشم .

من شرمندم واقعا از اینکه هیچی بلد نبودم و تازه واردم تو این سایت و این فروم ولی اومدم پست دادم. ببخشید. دوستان دیگه که تو PHP حرفه ای هستن این تاپیک رو پیگیری کنن ماهم که PHP کار نیستیم و تاحالا کار نکردیم یه چیزی یاد بگیریم



این کد رو هرکس اولین بار اختراع و منتشر کرد یا خودش هکر بوده یا واقعا نمیدونسته که این کد یک حفرهء امنیتی بزرگتر ایجاد میکنه، و بنابراین هکرها الان از کارش خیلی خوشحال میباشند.
هرجا چنین کدی برای ایجاد محدودیت استفاده کردید بگید من یه تستی روش انجام بدم. لوکال تست کردم اما تست واقعیش یه چیز دیگس :لبخند:


این بحثو تو یه تاپیک دیگه پیگیری کنید. IP Spoofing به نظرم تنها مسئله امنیتی هست که میتونه تو این کد وجود داشته باشه....

aliforever
چهارشنبه 15 شهریور 1391, 12:08 عصر
استغفر الله !!!
بابا تو رو خدا آخه این چه ربطی به جواب من داشت ؟؟؟
چرا اینطوری می کنید آخه یکی بحث رو تموم می کنه یکی دیگه میاد ادامش میده .
بابا جون هر کی دوست دارید جواب سوال من رو بدید .
عجب گیری افتادیم ها !!!

eshpilen
چهارشنبه 15 شهریور 1391, 12:39 عصر
نتیجهء یکسری کارهای آقای شهرکی بخصوص بعد از به مدیریت رسیدن این شد که حالا مردم میان انتظار دارن یکی مشق شب و پروژه و کار اونا رو بجاشون انجام بده.
دیگران هم صحبت میکنن تازه بهشون میپره.

مگه اینجا سرویس کدنویسی صلواتی یا کدهای درخواستی راه انداختیم :لبخند:

aliforever
چهارشنبه 15 شهریور 1391, 13:28 عصر
دوست عزیز و محترم .
لطفا بجواب دیگه نده .
اگه دوست داری جواب بده .
اگه نه وقت ما رو نگیر . من هربار فک می کنم جواب رو دادید در حالیکه مسخره کردید ما رو .
ایشون هم لطف دارند که اینکار رو می کنند . انجمن php هم شامل تمامی مشکلات کاربران از قبیل درخواست کد و این چیزا میشه .
فک کنم این همه پست رو که شما داری نصفش ماله اسپم باشه .
لطفا اگه جواب رو نمی دونید جواب ندید . خواهشا .