sokoti

کاربران
  • تعداد ارسال ها

    147
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    1

sokoti last won the day on اکتبر 23 2017

sokoti had the most liked content!

اعتبار در انجمن

12 خوب

درباره sokoti

  • درجه
    جوملا کار
  • تاریخ تولد 12/11/56

اطلاعات شخصی

  • شهر سکونت
    ......
  • علاقه مندی ها
    برنامه نویسی/نت/جدیدا سایت
  • شغل
    بیکاررررررررررررررررررررررررر
  1. ممنون مشکلم حل شد.
  2. من این فرم رو چجوری حذف کنم میخوام منوی ورود رو داشته باشم اما این فرم وسط صفحه ام نباشه [ATTACH=CONFIG]3821[/ATTACH] همین فرمی که تو تصویر مشخص کردم رو میخوام حذف کنم تو همه قسمت ها رفتم اما متوجه نشدم چجوری حذفش کنم در حالیکه منوی ورود باشه و مشکلی نداشته باشه؟
  3. مبعث پیامبر رو به همه ی شما اساتید و خواهران و برادران جوملایی و همه مسلمانان تبریک میگم. امیدوارم همیشه شاد و سلامت باشین من امشب عیدی مو گرفتم و اونم خوب شدن یکی از کاربرای جوملا بود.... امیدوارم همه ی شما هم بهترین عیدی هاتون رو بگیرین... :4d564ad6::4d564ad6: خدا کنه توبیخ نشم بابت این پست.
  4. ممنون از راهنماییتون اما میشه بگین من بعد از طراحی کاملش چیکار باید بکنم که بتونم این کار انتقال رو انجام بدم؟ فقط خواهشا ریز توضیح بدین که منم متوجه بشم بازم ممنونgift
  5. نه واضحش میشه این من ی انجمن با جوملا میخوام بسازم و یعنی طراحی کنم و غیره فقط روی کامپیوتر خودم نه رو هاست انوقت میخوام اونو که طراحی کردم به یکی که کیش زندگی میکنه از طریق ایمیل بدم ی جورایی ی هدیه باشه براش که اگهخ خواست انجمن رو بفرسته رو هاست. سوال دیگه ی منم اینه که من که این انجمن رو دارم میسازم و فقط روی کامپیوتر خودم اجراش کردم و روی هاست نرفته کسی دیگه ایی میتونه سطح دسترسی داشته باشه؟ یعنی من آدرس به شما بدم و یوزر و پسوردمم بدم شماها میتونین سطح دسترسی داشته باشین و واردش بشین یا نه؟ الان سوالم رو واضح گفتم؟؟ ولی باالا هم واضح بودا:auau:
  6. سلام میخواستم بدونم ی انجمن ساخته شده که روی هاست نرفته و طراحی شده رو میتونیم قبل از اینکه روی هاست بره به کسی بدیم؟و یا اینکه انجمنی که روی هاست نیست میشه سطح دسترسی برای کسی دیگه داشته باشه یا نه؟
  7. ممنون:auizz3ffy9vla57584x و ااما در رابطه با این بحث باید بگم که ما همیشه سعی داریم راکد بمونمی وگرنه امنیتش بهتره و به زودی جای md5 رو میگیره
  8. من در قسمت salt هم مشکل دارم میشه ذر مورد salt هم توضیح بدین؟؟ من در این قسمت مشکل دارم یکی کمکم کنه اصلا این salt چی هست؟؟
  9. استاد این دو خط رو ه گفتم و مشخص کردم رو میشه برام توضیح بدی:dadad4:
  10. یادگرفتن درباره md5 و sha1 و salt برای فهم آنچه که مورد نیاز ما برای ذخیره سازی امن هست خوب است. اما برای اجرای شدید امنیت باید از تکنیک Bcrypt در hashing استفاده کنیم. ما باید از یک الگوریتم استفاده کنیم که حمله کننده خیلی سخت بتواند آن را رمزگشایی کند و به راحتی بتوان از آن در اپلیکیشن ها استفاده کرد. اگر از Bcrypt استفاده کنیم لازم نیست دیگر salt را ذخیره کنیم. مثال: function generateHash($password){ if(defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH){ $salt='$2y$11$' . substr(md5(uniqid(rand(),true)),0,22); return crypt($password,$salt); } } تابع بالا ابتدا ثابت CRYPT_BLOWFISH را چک میکند. اگر این قابلیت وجود داشت یک salt تولید میکنیم. Salt تولید شده باید با “$۲a$” یا “$۲y$” شروع شده باشد. برای شناسایی کاربر نیز از تابع زیر استفاده میکنیم. در صورت درست بودن, این تابع یک را برمیگرداند function verify($password,$hashedPassword){ return crypt($password,$hashedPassword) == $hashedPassword; } استاد من در قسمت salt هم مشکل دارم میشه ذر مورد salt هم توضیح بدین؟؟
  11. محققان چندین عیب برای الگوریتم های sha1 و md5 پیداکرده اند. به همین دلیل برنامه های مدرن PHP از این دو تابع برای hash کردن استفاده نمیکنند. بلکه آنها از الگوریتم خانواده sha2 مانند sha256 یا sha512 استفاده میکنند. بر اساس اسمشان یکی hash 256 بیتی و دیگری hash 512 بیتی تولید میکنند. این تابع ها جدید تر و به طور قابل ملاحظه ای قویتر از md5 هستند. یکی از آنها افزایش تعداد بیت ها که کاهش برخوردها را دربردارد. کد زیر نحوه استفاده از sha256 را نشان میدهد. $password=hash(“sha256”,$password); تابع hash() را ارائه میدهد. آرگومان اول نام الگوریتم را میگیرد( شما میتوانید از الگوریتم های sha256 , sha512 , md5 , sha1 و دیگر الگوریتم های متداول استفاده کنید). آرگومان دوم هم متنی که قرار است تبدیل به hash شود. اضافه کردن امنیت با استفاده از Salts خب با استفاده از sha512 شما بیشترین امنیت را به پسورتان اضافه میکنید. اما اگر حمله کننده به دیتابیس از انواع الگوریتم ها برای برگرداندن پسورد شما استفاده کند میتواند پسوردها را به راحتی رمزگشایی کند. راه حل استفاده از یک عدد تصادفی در تولید hash است که با آن salt میگویند. در هر بار که ما تولید hash میکنیم از یک عدد تصادفی استفاده میکنیم. شما فقط کافی است که یک عدد تصادفی در اندازه خاصی تولید و آن را به متن پسورد بدهید سپس آن را hash کنید. حتی اگر پسورد دو اکانت شبیه هم باشد باز هم رشته hash شده شبیه هم نخواهد بود زیرا ما از عدد تصادفی استفاده میکنیم. برای استفاده از salt مانند زیر عمل میکنیم: define("MAX_LENGTH_SALT",6); function generateHash($password){ $rand=md5(uniqid(rand(),true)); $salt=substr($rand , 0 , MAX_LENGTH_SALT); return hash("sha256",$password . $salt); } برای ساخت salt ما به uniqid() احتیاج داریم. آرگومان اول تابع rand است که یک عدد تصادفی در integer میسازد و آرگومان دوم true میگیرد زیرا ما میخواهیم اعداد منحصر به فرد باشند. برای اعتبارسنجی کاربر باید مقدار salt را در ذخیره کنیم(در یکی از فیلدهای دیتابیس). زمانی که کاربر سعی کرد وارد اکانت خود شود مقدار salt را در پسورد وارد شده وارد میکنیم سپس با استفاده از تابع hash مقایسه را انجام میدهیم.
  12. استاد اینم که در جهت توضیحا قبلی شما بود:37: استاد من کدشو پیدا کردم ولی برخی جاهاشو متوجه نمیشم. میشه کمک کنید؟؟ $db = new PDO('mysql:host=localhost;dbname=test;charset=UTF8', 'root', ''); $username=$_POST['username']; $password=$_POST['password']; $password=md5($password); $query="insert into users (username,password) values (:username,:password)"; $stmt=$db->prepare($query); $stmt->execute(array( ":username"=>$username, ":password"=>$password )) or die('Your Pass and Username not Register'); echo "Your Password and Username is Registered." پسورد گرفته شده از کاربر را به صورت hash تبدیل و در دیتابیس ذخیره میکند. این دو خطشو متوجه نمیشم میشه ی زحمت بکشین و برام توضیح بدین؟؟ $stmt=$db->prepare($query); $stmt->execute(array( اینم کد برای گرفتن یوزرنیم و پسورد از دیتابیسه $db = new PDO('mysql:host=localhost;dbname=test;charset=UTF8', 'root', ''); $username=$_POST['username']; $password=$_POST['password']; $password=md5($password); $query="select * from users where username=:username and password=:password"; $stmt=$db->prepare($query); $stmt->execute(array( ":username"=>$username, ":password"=>$password )); $row=$stmt->fetch(); echo "Your Username Equal to:".$row['username']." and Your Password Equal to:".$row['password'].""; در مثال بالا تابع md5() یک hash 128 بیتی تولید میکنه. شما به راحتی میتونید به جای md5() از sha1() استفاده کنین. این تابع یک hash 160 بیتی تولید میکنه
  13. من بازم به جوابم نرسیدم اینا رو که خود استاد توضیح دادن من اصل کد و نحوه الگوریتمشو میخوام از نقطه ی آغازی تا نقطه ی پایانی الگوریتم. و اینکه شما گفتیم که در جوملا به کار میره خوب اینم میدونستم اما اینو میخوام بدونم خود الگوریتم با چه زبانی و در چه سطحی نوشته شده؟ و اینکه آیا برای سایت ها و برنامه هایی غیر از جوملا هم استفاده میشه یا نه؟
  14. سلام مجدد استاد صفحه ی اول توضیحاتی درمورد الگوریتم md5 گفته بودین میخوام بدونم این الگوریتم چیه؟ چجوری کار میکنه کدش چیه و به چه زبانی نوشته شده؟