PDA

View Full Version : آموزش: آموزش استفاده ار کدهای امنیتی : Captcha



mahmood1000
چهارشنبه 26 آبان 1389, 18:13 عصر
سلام به همه دوستان
یه چند وقتی بود تو سایت های فارسی دنبال مرجع فارسی استفاده از کدهای امنیتی (Captcha) میگشتم ، اما مطب مفیدی پیدا نکردم. به خاطر همینم تصمیم گرفتم آموزش استفاده از Captcha رو براتون آماده کنم.

آموزش راه اندازی
http://barnamenevis.org/forum/attachment.php?attachmentid=60429&stc=1&d=1289053261

قدم اول:
ابتدا فایل ضمیمه رو دانلود کنید.(60426)
از حالات فشرده (RAR) خارج کنید و دو فایل MSCahtcha.dll و MSCaptcha.xml و در فولدر Bin پروژتون کپی کنید.
قدم دوم:
حالا MSCaptcha.dll رو در قسمت References پروژ Add کنید.

قدم سوم:
کد زیر رو در قسمت Web.config در زیر مجموعه system.web کپی کنید.



<httpHandlers>
<addverb="GET"path="CaptchaImage.axd"type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>
</httpHandlers>

قدم چهارم:
در بالای صفحه ای که میخواهید از Captcha استفاده کنید کد زیر رو اضافه کنید


<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" %>

قدم پنجم:
حالا هرجایی که میخواهید کادر Captcha قرار بگیره کد زیر را اضافه کنید.



<cc1:CaptchaControl ID="ccJoin" runat="server" CaptchaBackgroundNoise="none" CaptchaLength="5" CaptchaHeight="60" CaptchaWidth="200" CaptchaLineNoise="None" CaptchaMinTimeout="5" CaptchaMaxTimeout="240" />

قدم ششم:
برای اینکه کاربر کد Captcha را وارد کنه شما به یک TextBox جهت وارد کردن کد و یک Button نیاز دارید.
حالا برای اینکه بعد از زدن Button چک شود کد صحیح است یا نه از قطعه کد زیر استفاده میکنیم.



protected void Button1_Click(object sender, EventArgs e)
{
ccJoin.ValidateCaptcha(TextBox1.Text);
if (!ccJoin.UserValidated)
{
Label1.Text = "صحیحنیست";
return;
}
else
{
Label1.Text = "صحیحاست";
}
}

امید وارم که مفید واقع بشه.

pedram_ns
چهارشنبه 26 آبان 1389, 18:42 عصر
ممنون اگر چند کاربر همزمان استفاده کنن مشکلی ایجاد نمی شه؟

mahmood1000
چهارشنبه 26 آبان 1389, 19:24 عصر
ممنون اگر چند کاربر همزمان استفاده کنن مشکلی ایجاد نمی شه؟

نه دوست عزیز مشکلی پیش نمیاد

pedram_ns
چهارشنبه 26 آبان 1389, 19:39 عصر
نمی شه یکم فونت هاش رو ظریف تر کرد تا ظاهر زیباتری داشته باشه من فونت رو تغییر می دم و سایز رو ولی تغییر چندانی نمی کنه!

mahmood1000
چهارشنبه 26 آبان 1389, 19:49 عصر
متاسفانه در این خصوص راهی پیدا نکردم فعلا

raziee
پنج شنبه 27 آبان 1389, 00:58 صبح
می شه یکم فونت هاش رو ظریف تر کرد تا ظاهر زیباتری داشته باشه من فونت رو تغییر می دم و سایز رو ولی تغییر چندانی نمی کنه!
اینجا (http://vahidnasiri.blogspot.com/2008/11/blog-post_30.html)را نگاه کنید.
امیدوارم به دردتان بخورد.
طریقه استفاده از یک فونت خاص بدون نیاز به نصب بر روی سرور

mahmood1000
پنج شنبه 27 آبان 1389, 01:23 صبح
اینجا (http://vahidnasiri.blogspot.com/2008/11/blog-post_30.html)را نگاه کنید.
امیدوارم به دردتان بخورد.
طریقه استفاده از یک فونت خاص بدون نیاز به نصب بر روی سرور
دوست عزیز مقاله جالبی بود اما در انجا کاربرد نداره.

raziee
پنج شنبه 27 آبان 1389, 01:55 صبح
دوست عزیز مقاله جالبی بود اما در انجا کاربرد نداره.
در کجا کاربرد ندارد برادر؟

متاسفانه در این خصوص راهی پیدا نکردم فعلا

شما دنبا راه بودید؟
مقاله ی مربوطه و سایت های معرفی شده را دیدید؟

در زمان تولید تصویر، با استفاده از مقاله ی معرفی شده میتوان فونت دلخواه را استفاده کرد.

pedram_ns
پنج شنبه 27 آبان 1389, 10:45 صبح
جناب raziee
می شه روی همین پروژه کار کنید و یک نمونه بذارید.(در مورد تغییر فونت)

mahmood1000
پنج شنبه 27 آبان 1389, 12:56 عصر
در کجا کاربرد ندارد برادر؟


شما دنبا راه بودید؟
مقاله ی مربوطه و سایت های معرفی شده را دیدید؟

در زمان تولید تصویر، با استفاده از مقاله ی معرفی شده میتوان فونت دلخواه را استفاده کرد.
دست عزیز این فایلی که گذاشتم dll هستش ، چطور میشه تو dll دست برد؟
اگر راهی میدونید لطفا بگید تا دستکارش کنیم.

درضمن من خودم موافق 100% این dll نیستم ، اگر دوستان موافق باشند (که حتما هستن) به کمک دوستانی که تو این کار مهارت دارن شروع به ساخت یه Captcha کنیم.

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

بسم ا...

raziee
پنج شنبه 27 آبان 1389, 14:38 عصر
جناب raziee
می شه روی همین پروژه کار کنید و یک نمونه بذارید.(در مورد تغییر فونت)
این دوستمون اگه سورس رو در اختیار بندن، میشه تغییرات رو ایجاد کرد.(به طور کلی بدون سورس زیاد ارزشی نداره) و چون ایجاد کننده تاپیک این این کتابخانه/ کنترل رو خودشون ننوشتند و البته منبعی (http://www.mondor.org/captcha.aspx)هم ذکر نکردند(کار غیر اخلاقی) نمیشه تغییراتی رو ایجاد کرد.

اما این لینک (http://www.codeproject.com/KB/aspnet/CaptchaImage.aspx) و یا این لینک (http://www.codeproject.com/KB/custom-controls/CaptchaNET_2.aspx) رو مطالعه بفرمایید مشکلی که دارند اینه که از Session استفاده کردند.
در متد های ایجاد تصویر میشه از روشی که قبلا (http://vahidnasiri.blogspot.com/2008/11/blog-post_30.html) معرفی کرده بودم از فونت های دلخواه استفاده کرد.
اگر در همان لینک توجه کنید در قسمت نظرات جناب نصیری به فردی پاسخ داده اند که :

هر فونتي را مي‌شود بارگذاري كرد. يا حتي توليد captcha با يك سري فونت مخصوص هم به اين روش ساده‌تر خواهد شد (بدون نياز به هماهنگي با هاست براي نصب فونت).

با یک جستجوی ساده در اینترنت میتوان نمونه های زیادی رو پیدا کرد و اونها رو با توجه به نیاز و دانش خودتون تغییر داد.
این لینک (http://captcha.codeplex.com/) و این لینک (http://weblogs.asp.net/morteza/archive/2008/07/07/create-simple-captcha-by-generic-handler.aspx) را ملاحظه کنید.

mahmood1000
پنج شنبه 27 آبان 1389, 15:12 عصر
دوست عزیز اولا من از RapideShare این dll رو دانلود کردم. سورسش رو ندارم.
ازمنبع خاصی نبود که بخوام برای اطلاع بزارم . اگه برید تو rapid یه سرچ کنید حتما این dll رو پیدا میکنید.
دوماً کدوم کارمون قانونی که این یکی بخواد باشه؟ ویندوز شما قانونی هستش؟ VS قانونیی؟ و تمام نرم افزارهایی که داری.

iman_ad
پنج شنبه 27 آبان 1389, 16:06 عصر
دوست عزیزم کاش قبل از باز کردن تاپیک خوب سایت می گشتی دوست عزیزم آقا صابر یک کامپننت با سورس گذاشتن و بار ها بحث شده

mahmood1000
پنج شنبه 27 آبان 1389, 16:47 عصر
دوست عزیزم کاش قبل از باز کردن تاپیک خوب سایت می گشتی دوست عزیزم آقا صابر یک کامپننت با سورس گذاشتن و بار ها بحث شده
امکانش هست لینک این تاپیک رو بزاری؟

دختر کوهستان
شنبه 27 آذر 1389, 11:51 صبح
سلام به همه دوستان
یه چند وقتی بود تو سایت های فارسی دنبال مرجع فارسی استفاده از کدهای امنیتی (Captcha) میگشتم ، اما مطب مفیدی پیدا نکردم. به خاطر همینم تصمیم گرفتم آموزش استفاده از Captcha رو براتون آماده کنم.

آموزش راه اندازی
http://barnamenevis.org/attachment.php?attachmentid=60429&stc=1&d=1289053261

قدم اول:
ابتدا فایل ضمیمه رو دانلود کنید.(60426)
از حالات فشرده (RAR) خارج کنید و دو فایل MSCahtcha.dll و MSCaptcha.xml و در فولدر Bin پروژتون کپی کنید.
قدم دوم:
حالا MSCaptcha.dll رو در قسمت References پروژ Add کنید.

قدم سوم:
کد زیر رو در قسمت Web.config در زیر مجموعه system.web کپی کنید.



<httpHandlers>
<addverb="GET"path="CaptchaImage.axd"type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>
</httpHandlers>

قدم چهارم:
در بالای صفحه ای که میخواهید از Captcha استفاده کنید کد زیر رو اضافه کنید


<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" %>

قدم پنجم:
حالا هرجایی که میخواهید کادر Captcha قرار بگیره کد زیر را اضافه کنید.



<cc1:CaptchaControl ID="ccJoin" runat="server" CaptchaBackgroundNoise="none" CaptchaLength="5" CaptchaHeight="60" CaptchaWidth="200" CaptchaLineNoise="None" CaptchaMinTimeout="5" CaptchaMaxTimeout="240" />

قدم ششم:
برای اینکه کاربر کد Captcha را وارد کنه شما به یک TextBox جهت وارد کردن کد و یک Button نیاز دارید.
حالا برای اینکه بعد از زدن Button چک شود کد صحیح است یا نه از قطعه کد زیر استفاده میکنیم.



protected void Button1_Click(object sender, EventArgs e)
{
ccJoin.ValidateCaptcha(TextBox1.Text);
if (!ccJoin.UserValidated)
{
Label1.Text = "صحیحنیست";
return;
}
else
{
Label1.Text = "صحیحاست";
}
}

امید وارم که مفید واقع بشه.

من تمام این کارها رو انجام دادم اما هیچ تصویری نشون نمیده. آیا تنظیمات خاصی احتیاج داره؟ ممکنه که روی local اجرا نشه؟

mahmood1000
سه شنبه 30 آذر 1389, 17:31 عصر
من تمام این کارها رو انجام دادم اما هیچ تصویری نشون نمیده. آیا تنظیمات خاصی احتیاج داره؟ ممکنه که روی local اجرا نشه؟

دوست عزیر روی لوکال اجرا میشه، احتمال داره یه قسمتی از کد رو اشتباه وارد کردید یا شاید بین کدها فاصله افتاده باشه

دختر کوهستان
سه شنبه 30 آذر 1389, 21:20 عصر
نه. اگه اشتباه بود که زمان کامپایل ارور می داد. زمانی که هنوز تو برنامه هستم و اجرا نکردم کادرش رو بدون تصویر ایجاد می کنه اما زمان اجرا همون کادر رو هم نشون نمی ده.بنابر این تصویری هم نیست.

mahmood1000
پنج شنبه 02 دی 1389, 00:22 صبح
نه. اگه اشتباه بود که زمان کامپایل ارور می داد. زمانی که هنوز تو برنامه هستم و اجرا نکردم کادرش رو بدون تصویر ایجاد می کنه اما زمان اجرا همون کادر رو هم نشون نمی ده.بنابر این تصویری هم نیست.

دوست عزیز شرمنده که دیر جواب میدم، جایی هستم که دسترسی به اینترنت سخته.
براتون یه فایل ضمیمه کردم که Captcha را در آن با VS2010 نوشتم. تست هم کردم، پس خیالت راحت که کار میکنه.

V0R73X
جمعه 03 دی 1389, 06:50 صبح
سلام.
خیلی عالی بود ممنون ولی کد آسون تر نداشتی بزاری؟ D:

mahmood1000
جمعه 03 دی 1389, 11:55 صبح
از این ساده تر فکر نکم باشه ، اگر پیدا کردم حتما میزارم

V0R73X
شنبه 04 دی 1389, 22:59 عصر
منظورم این بود که زیادی سادس لطفا کد سخت تری بزارین!!:چشمک:

mehrdad85
دوشنبه 06 دی 1389, 11:34 صبح
سلام
اگه کاربر کد را درست وارد کنه کجا میره و اگه اشتباه وارد کنه چی میشه؟
اینارو کجا باید مشخص کنیم؟


ممنون میشم جواب بدید
مرسی

mahmood1000
دوشنبه 06 دی 1389, 19:46 عصر
سلام
اگه کاربر کد را درست وارد کنه کجا میره و اگه اشتباه وارد کنه چی میشه؟
اینارو کجا باید مشخص کنیم؟


ممنون میشم جواب بدید
مرسی
دوست عزیز من توی این پست برنامه رو برای دانلود گذاشتم
http://barnamenevis.org/showthread.php?260009-آموزش-استفاده-ار-کدهای-امنیتی-Captcha&p=1178001&viewfull=1#post1178001
تو برنامه وقتی روی دکمه Check کلیک کنید اگر کد را درست وارد کرده باشد در لیبل پیغامی مبنی بر اینکه کد صحیح یا غلط هست نمایان میشود

razeghaik1
دوشنبه 22 اسفند 1390, 11:52 صبح
رفیق اینو بنویس تو web.config درست می شه.مال منم مثل مال تو بود!!!


<add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler,MSCaptcha"/>

mahmood_4246
سه شنبه 23 اسفند 1390, 15:19 عصر
دوستان کسی کد امنیتی به صورت فارسی نداره ؟

neda555
سه شنبه 23 اسفند 1390, 21:21 عصر
سلام
اگر کد امنیتی در local نمایش داده بشه ولی روی هاست تصویر را نشون نده باید چه کرد؟

nasr
چهارشنبه 30 فروردین 1391, 20:36 عصر
سلام
اگر کد امنیتی در local نمایش داده بشه ولی روی هاست تصویر را نشون نده باید چه کرد؟

منم همین مشکل را دارم

shahabrgh
سه شنبه 19 اردیبهشت 1391, 02:26 صبح
منم همین مشکل را دارم
بله منم همین مشکل رو دارم... کسی نیست که جواب بده؟
روی local اجرا میشه ولی بعد آپلود کردن نشون داده نمیشه

shahabrgh
چهارشنبه 20 اردیبهشت 1391, 16:09 عصر
سلام
اگر کد امنیتی در local نمایش داده بشه ولی روی هاست تصویر را نشون نده باید چه کرد؟

بازم سلام
دوستان خودم جواب سوال خودمو پیدا کردم... اگه host ویندوز سرور 2008 باشه نشون داده نمیشه ولی اگه 2003 باشه کار میکنه. اینم مربوط میشه به IIS7.5 اگه اشتباه نکنم.
حالا اینطور میپورسم سوالمو... از دوستان کسی هست که بدونه چیکار باید کرد تا رو 2008 هم اجرا بشه؟

oosara
یک شنبه 18 فروردین 1392, 12:15 عصر
بازم سلام
دوستان خودم جواب سوال خودمو پیدا کردم... اگه host ویندوز سرور 2008 باشه نشون داده نمیشه ولی اگه 2003 باشه کار میکنه. اینم مربوط میشه به IIS7.5 اگه اشتباه نکنم.
حالا اینطور میپورسم سوالمو... از دوستان کسی هست که بدونه چیکار باید کرد تا رو 2008 هم اجرا بشه؟

سلام
میدونم خیلی وقته از نوشتن این مطلب گذشته ولی دقیقا منم همین مشکل رو دارم کپچا روی لوکال به درستی کار میکنه ولی وقتی آپلود میکنم روی هاست کپچا رو نشون نمیده ممنون میشم راهنمایی کنید

fakhravari
یک شنبه 18 فروردین 1392, 12:39 عصر
تنظیمات هندلری داره برای iis 6,7

mf_007
جمعه 06 اردیبهشت 1392, 20:29 عصر
تنظیمات هندلری داره برای iis 6,7
منم همین مشکلو دارم یه خورده بیشتر توضیح بده لطفا

amin750
سه شنبه 19 شهریور 1392, 18:41 عصر
دوستان منم مشکلم همین
روی لوکال اجرا میشه ولی وقتی بردم رو هاست نشونش نمیده
کسی از دوستان میدونه مشکل از کجاست؟؟
چه کار باید کرد؟؟؟

sasanrstm
سه شنبه 19 شهریور 1392, 21:52 عصر
دوستان منم مشکلم همین
روی لوکال اجرا میشه ولی وقتی بردم رو هاست نشونش نمیده
کسی از دوستان میدونه مشکل از کجاست؟؟
چه کار باید کرد؟؟؟
بنده یه پروژه کامل در مورد captcha تو همین سایت آپلود کردم که کد نویسیه این مشگل رو هم حل کردم شما زحمت بکش به اسم کاربری من یه جستجو بزن خودمم تو سایتم ازش استفاده کردم http://www.srstm.ir/Register.aspx اگه پیدا نکردی خبرم کن 09359503880

hoda mohammadi
دوشنبه 22 مهر 1392, 10:43 صبح
دوستان گرامی بنده مشکل نمایش captcha روی سرور را حل کردم
در web.config مربوط به هاست این کد را در system.webServer وارد کنید
<handlers>
<add name="MSCaptcha" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>
</handlers>
حتما درست می شود

korosh00
دوشنبه 22 مهر 1392, 16:00 عصر
این ارور مربوط به چی است ؟؟
من برای خودم و هم نمونه پروژه ای که گذاشتید این مشکل را داشت

111856

تشکر

RIG000
دوشنبه 22 مهر 1392, 16:23 عصر
کاربرد این کپچا چیه؟ چطوری به سایت امنیت میده؟

afshinafshin
دوشنبه 20 مرداد 1393, 22:38 عصر
با سلام
با تشکر از لطفتان
من کد ها رو کپی کردم اما در web.config روی خط زیر خطا می گیره
<addverb="GET"path="CaptchaImage.axd"type="MSCaptc ha.CaptchaImageHandler, MSCaptcha"/>
و باید add verb باشد اما با ز هم خطا گرفت

ahnd92
چهارشنبه 29 مرداد 1393, 12:47 عصر
با سلام
با تشکر از لطفتان
من کد ها رو کپی کردم اما در web.config روی خط زیر خطا می گیره
<addverb="GET"path="CaptchaImage.axd"type="MSCaptc ha.CaptchaImageHandler, MSCaptcha"/>
و باید add verb باشد اما با ز هم خطا گرفت


بخاطر فاصله ایه که بین mscapc ha افتاده

hamed_naghdi
پنج شنبه 24 مهر 1393, 13:55 عصر
این بخش یه ایراد کوچیک داره که اونم بخش web.config هستش که باید اینطوری نوشته بشه



<httpHandlers>
<add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha "/>
</httpHandlers>

پیام حیاتی
جمعه 25 مهر 1393, 16:51 عصر
سلام
ما هر چه کردیم نمایش نداد Captha رو نه در هاست نه در لوکال به این خط در فایل کانفیگ خطا میگیره :
<add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha "/>
با نمونه های مختلفی هم که دوستان قرار دادم تست کردم جواب نداد.
لطفا" اگر آموزش یا راهکار دیگه ای دارید ارائه بدید.
تشکر.

sharareh3
سه شنبه 04 آذر 1393, 17:26 عصر
سلام
تشکر بابت این مقاله.فقط میشه خطهای برنامه رو توضیح بدید.من خیلی احتیاج به توضیحش دارم

Mohammad_dn
چهارشنبه 05 آذر 1393, 18:12 عصر
آقای حیاتی..احتمالا از ویژوآل 2012 استفاده میکنید.. web.config رو به صورت زیر تغییر بدید درست میشه


<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<system.webServer>
<handlers>
<add name="Captcha" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"></add>
</handlers>
</system.webServer>
</configuration>

saeid6366
پنج شنبه 05 شهریور 1394, 15:43 عصر
من این کپچا رو استفاده کردم ولی مشکل اینجاس که هر چی وارد می کنم میگه اشتباهه یعنی ccJoin.UserValidated همیشه false هست نمیدونید مشکل از کجاس؟

saeid6366
جمعه 06 شهریور 1394, 08:16 صبح
من این کپچا رو استفاده کردم ولی مشکل اینجاس که هر چی وارد می کنم میگه اشتباهه یعنی ccJoin.UserValidated همیشه false هست نمیدونید مشکل از کجاس؟
کسی نیست جواب بده؟ دوستان خیلی فوری به جوابش نیاز دارم. لطفا راهنمایی کنید.

saeid6366
شنبه 07 شهریور 1394, 20:36 عصر
من خودم چیزی که متوجه شدم اینه که چون update panel دارم متوجه رفرش شدن اون نمیشم. چطور میشه با وجود update panel این کپچا درست کار کنه؟ ممنون میشم راهنمایی کنید.