PDA

View Full Version : فیلتر برای ارسال فرم(عنوان خاصی به ذهنم نرسید)



javad3151
شنبه 17 دی 1384, 12:55 عصر
سلام
در خیلی از سایتها وقتی کاربر می خواد یک فرمی ارسال کنه یه تصویر بهش نشون داده میشه که حروف کج و کوله داخلش نوشته و تا وقتی کاربر اونها رو درست وارد نکنه ارسال نمیشه,
چطور میشه در دات نت از این سیستم استفاده کرد؟

iekrang
شنبه 17 دی 1384, 13:48 عصر
این مقاله کمکتون میکنه.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3696&lngWId=10

موفق باشید.

صابر
دوشنبه 19 دی 1384, 04:40 صبح
مراحل کار باید اینطور باشه:
1) یک متن random مثلاً پنج کاراکتری تولید کنید و در یک متغیر مثل strRnd قرار دهید.
۲) اونو با استفاده از توابع گرافیکی کمی تغییر دهید. (زیاد در این قضیه زیاده روی نکنید! چون واقعاً لازم نیست)
۳)چک کنید اگر رشته‌ای که کاربر ارسال می‌کند مساوی با strRnd است آنگاه اجازه پست به او بدهید.

*بهتره با توابع رشته‌ای مثل Ucase حساسیت متن ورودی به بزرگ و کوچک بودن حروف رو از بین ببرید.

white fox
دوشنبه 19 دی 1384, 07:19 صبح
ببخشید من متوجه نمیشم این کار اصلا چه فایده ای داره؟
از لحاظ امنیتی کار خاصی میکنه؟یا میخواید چک کنید کاربر سواد داره یا نه:D !!!!!!!!!looool

اَرژنگ
دوشنبه 19 دی 1384, 07:28 صبح
ببخشید من متوجه نمیشم این کار اصلا چه فایده ای داره؟
از لحاظ امنیتی کار خاصی میکنه؟یا میخواید چک کنید کاربر سواد داره یا نه:D !!!!!!!!!looool
نه چک میکنه که کاربر آدمه یا نه

danial82
دوشنبه 19 دی 1384, 07:44 صبح
م
۲) اونو با استفاده از توابع گرافیکی کمی تغییر دهید. (زیاد در این قضیه زیاده روی نکنید! چون واقعاً لازم نیست)


میشه بگی مثلا کدوم توابع

javad3151
دوشنبه 19 دی 1384, 08:19 صبح
جناب whit fox
در تمام بخشهایی که کاربر امکان ارسال یک فرم رو داره مثل بخش تماس با سایت یا اشتراک در سایت ، می تونه با استفاده از دستورات برنامه نویسی براحتی 1000000 فرم یا بیشتر برای شما ارسال کنه که عملا سیستم شما از کار می افته
برای اینگونه حملات دو راه وجود داره :
1- ip کاربر را بگیرید و تا 30 ثانیه بعد بهش امکان ارسال مجدد رو ندید
2- از تکنیکی که در بالا گفته شد استفاده کنید

ضمنا از تمام دوستان خصوصا iekrang عزیز تشکر می کنم

Behrouz_Rad
دوشنبه 19 دی 1384, 09:32 صبح
دلیل استفاده از Ticket در برخی پست ها، جلوگیری از حملات DOS ای است که احیانا ممکن است انجام پذیرد.
به عبارت دیگه، با اینکار جلوی ارسال اطلاعات هرز توسط هکرها گرفته خواهد شد!
کد تولید شده باید در ViewState نگهداری بشه...
موفق باشید.

javad3151
دوشنبه 19 دی 1384, 12:59 عصر
مقاله ای که iekrang معرفی کرده یک مثال کامل و جامع هست (با VB.net)
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3696&lngWId=10

صابر
سه شنبه 20 دی 1384, 01:22 صبح
میشه بگی مثلا کدوم توابع
تابع خاصی منظورم نیست! کاری شبیه این را می‌تونید بکنید:
یک bitmap ایجاد کنید. (مثلاً سایز 200*4000)
با drawline و یک حلقه عکس را با یک background کمرنگ بپوشانید.
سپس سه یا چهار فونت خوانا انتخاب کنید و هر کاراکتر را با رنگ و فونت مختلف روی عکس بنویسید.

در ضمن این کار برای جلوگیری از submit کردن فرم‌ها توسط نرم‌افزارهای مختلف است. (فقط یک انسان می‌تواند تشخیص دهد که متن چیست)

iekrang
شنبه 24 دی 1384, 09:38 صبح
آقا قابل شما رو نداشت.بیشتر از این شرمنده نکنید منو :لبخند: