آژانس هواپیمایی
pop up

میخوام توی textbox فقط حروف فارسی تایپ بشه !

شروع موضوع توسط amir_3d_mad ‏31 جولای 2007 در انجمن asp , ASP.NET

  1. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    من توی سایتم یه جستجوی کوچولو از sql server دارم که برای جلوگیری از خطرات sql injection میخوام بجز حروف فارسی چیز دیگه ای درون textbox قرار نگیره !
    یعنی موقع فشاردادن کلید جستجو ، محتویات درون textbox چک بشه و اگر فقط حروف فارسی ( یا انگلیسی ) تایپ شده بود عمل جستجو انجام بشه !
    چه راه کاری و یا چه کدی میتونه این کارو انجانم بده ؟ ASP.NET 2
     
  2. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    این کد رو تو صفحه ای که تکست باکس هست بزار...

    و این رو هم در خاصیت keypress تکست باکست بزار...

     
  3. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    مرسی tabeez عزیز !
    از توجهت ممنون .
    به خدا تو فروم های دیگه بیشتر از یک هفته است که این سوالو نوشتم ، یکی نیست حتی بگه بلد نیستم . دریغ از یک جواب !
    ولی من گفته بودم که نمیخوام با جاوا اسکریپت باشه ! ولی بازم ممنون :)
    خب جواب سوالمو تقریبا خودم پیدا کردم :
    http://www.codeproject.com/useritems/Alphabets_Checking.asp
    ولی این فقط برای حروف انگلیسی کار میکنه ! :(
    فکر کنم با کمی تغییرات بشه یه کاریش کرد تا حروف فارسی رو هم قبول کنه .
    ممکنه کسی کمک کنه ؟
     
  4. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    تو اون کدی که در آدرس http://www.codeproject.com/useritems...s_Checking.asp هست،

    کافیه این سطر رو

    اونجائی که اعداد 97 و 122 (بازه حروف انگلیسی در اسکی) هست رو به بازه حروف فارسی تغییر بدی..

    الآن بیرونم و دقیقا اون بازه خاطرم نیست...ولی خب اگه خواستی برات میزارم...

    خواهش میکنم امیر جان...
     
  5. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    فکر کنم همونطور که در کد جاوا هست میتونی کد رو اینطوری استفاده کنی...


    رو تبدیل کنی به ...

    اینطوری تمامی کاراکترهای زیر رو میتونی داشته باشی...

    که با یه کمی تغییر میتونی بازه حروفت رو محدودتر کنی...
     
  6. m3hrz4d

    m3hrz4d Registered User

    تاریخ عضویت:
    ‏21 سپتامبر 2005
    نوشته ها:
    620
    تشکر شده:
    1
    محل سکونت:
    اصفهان
    در هر صورت شما باید سمت سرور هم متنی که ارسال شده رو چک کنی چون دور زدن جاوا اسکیپت اصلا کار سختی نیست منظورم اینه که چک ِ اصلی باید سمت سرور باشه ;)
     
  7. boxilink
  8. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    خب من هم همین کارو میخوام بکنم . ولی نمیدونم دقیقا کدام بازه رو باید انتخاب کنم .
    با کمی گشت و گذار در اینترنت اینا رو پیدا کردم :

    http://www.alanwood.net/unicode/arabic.html

    http://www.payab.com/backup/tounicode.php

    http://people.w3.org/rishida/scripts/uniview/conversion.php

    ولی بازهم بازه درست رو پیدا نکردم .
    ممنون از همگی .
     
  9. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    این کد میتونه سمت کلاینت تا حدودی پیشگیری کنه. اینکه سمت سرور هم تست شه که 100% واجبه... چون بالاخره کسی پیدا میشه که...
    یعنی وقتی کد محدودیت قراره سمت کاربر اجرا شه هر کسی ممکنه اون رو دور بزنه...
    شما سمت کلاینت چک کن، سمت سرور هم میتونی کاراکترهای رشته ای رو که دریافت میکنی چک کنی که در بازه حروف فارسی هست یا نه...
     
  10. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    ولی من این کارو بلد نیستم . چطوری میتونم سمت سرور رو تست کنم ؟:)
     
  11. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    اگه رشته ورودی رو از txtname بگیری..

    قبل هم بازه 31 تا 128 رو ،کاراکترهاش رو گذاشتم...

    البته کد رو تو نوت پد تایپ کردم، ولی خب فکر کنم خوانا باشه...(ببخشید اگه خیلی مبتدی کد میزارم اینجا...)
     
  12. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    پس یعنی این کد سمت سروره ؟
    ببخشید من اصلا اطلاعی در مورد اینکه کد سمت سرور چیه و کد سمت کاربر چیه ، ندارم !
    من فقط میخوام از SQL Injection جلوگیری کنم ! همین !
    فکر کردم این که به کاربر اجازه بدیم فقط حروف وارد کنه ، راه خوبی باشه برای اینکار . . .
    اگه یک توضیح کوچولو در مورد کدهای سمت سرور و کدهای سمت کاربر بدید ، ممنون میشم .
    ممنون از دوستان خوبم .:)
     
  13. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    دوست عزیز شما داری سوالت رو کمکم ریشه دار میکنی...
    کد سمت کاربر کدی هست که بر روی کامپیوتر کاربر و بیننده سایتت اجرا میشه...
    کد سمت سرور هم کدی هست که شما مینویسی و پس از پردازش نتیجه ای رو به کامپیوتر کاربر برمیگردونه ...این یه تعریف ساده بود..
    حالا اینکه شما میخوای از sql inje.. جلوگیری کنی لازم نیست فقط حروف رو از فیلتری رد کنی...
    میتونی همه حروف رو داشته باشی و چند کلمه خاص که هست رو فیلتر کنی...
     
  14. avajang.com .leftavajang.com.right
  15. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    حالا دلیل این کار من فقط این بود که توی سایت من ، کاربر اصلا نیازی به وارو کردن کاراکترهای دیگه بجز حروف فارسی نداره !
    فکر کردم راه خوبی باشه و نیز مطمئن تر از راه دیگه برای جلوگیری از SQL Injection !
    حالا اگه شما اینکار رو قبول ندارین ، ما هم استفاده نمیکنیم !
    بازم مرسی از اینکه وقت میزارین .:)