با چه کدی Security Question و Security Answer و Email را از کنترل CreateUser خود ASP.NET میتونم حذف کنم؟
Printable View
با چه کدی Security Question و Security Answer و Email را از کنترل CreateUser خود ASP.NET میتونم حذف کنم؟
خیلی دردسر داره ولی این کد رو تو web.config وارد کن.
<membership defaultProvider="AspNetdbSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetdbSqlMembershipProvider" connectionStringName="ConnectionString" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
با این کدها میتونی هر چی بخوای کم و زیاد کنی.
requiresQuestionAndAnswer را false کن.:متفکر::متفکر:
برای حذف ایمیل باید چیکار کنم؟
میشه موارد بالا را یکی یکی توضیح بدین؟
سلام
برای حذف ایمیل فقط خاصیت RequireEmail کنترل Create User را False کنید .
passwordAttemptThreshold="5"
passwordAttemptWindow="30"
خط اول تعداد دفعات ورود ناموفق را مشخص میکنه و خط دوم مدت زمان این عملیات را . مثلا اگه در مدت 30 دقیقه 5 بار رمز ورود اشتباه وارد بشه حساب قفل میشه .
minRequiredNonalphanumericCharacters = "1"
minRequiredPasswordLength="7"
تعداد کاراترهای خاص در رمز ورود را مشخص میکنه .
طبق توضیحی که msdn نوشته non-alphanumeric کاراکترهایی هستند که متد IsLetterOrDigit مقدار false برای آنها بر می گرداند یعنی نه عدد و نه حروف .
دومی هم که حداقل طول کلمه عبور را مشخص می کند
requiresUniqueEmail="false"
passwordFormat="clear"
enablePasswordRetrieval="true"
گزینه اول باعث میشه ایمیل های تکراری ثبت نشه یعنی یه نفر با یک ایمیل نمیتونه دوبار ثبت نام کنه اگر true باشه .
دومی نوع ذخیره سازی رمز ورود که به صورت clear (متن معمولی) و hash (به صورت رمز شده) ذخیره میشه .
اگر رمز ورود hash نشده باشه با فعال کردن گزینه سوم رمز ورود کاربران در صورت نیاز ارسال میشه .
enablePasswordReset="true"
وقتی رمز ورود به صورت Hash ذخیره میشه با فعال کردن این گزینه رمز جدید تولید شده و ارسال می شود . در این حالت باید گزینه requiresQuestionAndAnswer="true" باشه .
ممنون از این تاپیک خوب
منظور از خيلي دردسر داره چيه ؟
يعني ممكن مشكل براي سايت به وجود بياره يا فقط منظور سختي كدنويسي از نظر شما ؟
توضيح شما خيلي خوب بود واقعاً دست درد نكنه اما چندتا سوال برام پيش آمد !
مي شه يكم در مورد پياده سازي اين مورد توضيح بدين واسه وقتي كه Hash فعال و مي خواي ResetPass كني آيا كنترلي هم داره يا بايد از ForgetPass استفاده كرد
يك سوال مهم ديگه آيا اين بانك مشكل امنيتي نداره و مطمئن هست و مي شه تو سايت هاي تجاري كه مسائل مالي دارن هم ازش استفاده كرد؟ منظورم اينكه چون يك چيز عمومي مساله هك كردنش چطوري ؟ يا براي سايت هاي مالي بايد خودمون Login با الگوريتم رمزكردن و اين مسائل بنويسيم
مطمئنا اگه کلیدها رو درست انتخاب و مقدار دهی کنی مشکلی نداری!!!!!!!!!!!!نقل قول:
يك سوال مهم ديگه آيا اين بانك مشكل امنيتي نداره و مطمئن هست و مي شه تو سايت هاي تجاري كه مسائل مالي دارن هم ازش استفاده كرد؟ منظورم اينكه چون يك چيز عمومي مساله هك كردنش چطوري ؟ يا براي سايت هاي مالي بايد خودمون Login با الگوريتم رمزكردن و اين مسائل بنويسيم
البته هیچ وقت نمی تونی روی هیچ چیزی قطعی حساب کنی، حتی روی مایکروسافت.!
کد زیر رو میشه توی web.config و توی system.web قرار داد.
<machineKey decryption="AES" validation="SHA1" decryptionKey="1513F567EE75F7FB5AC0AC4D79E1D9F2543 0E3E2F1BCDD3370BCFC4EFC97A541" validationKey="32CBA563F26041EE5B5FE9581076C40618D CC1218F5F447634EDE8624508A129"/>
The decryptionKey and validationKey values were taken from Steve Gibson’s Perfect Passwords web page, which generates 64 random hexadecimal characters on each page visit. To lessen the likelihood of these keys making their way into your production applications, you are encouraged to replace the above keys with randomly generated ones from the Perfect Passwords page.
از تصویر زیر یه نیگاه به توضیحات بنداز.
هر چند این مطلب رو نمی خواستی ولی بدرد میخوره.
سلام
من هنوزم با این مسئله مشکل دارم
اول این که کاربر زودتر time out می شه از چیزی که ست کردم
دوم اینکه مگه نباید وقتی یک کاربر چند بار پسورد اشتباه می زنه تا یک مدت خواص اکانتش قفل بشه و در مراجعه بعد از اون زمان خاص با زدن پس درست اکانت باز بشه یا بتونه درخواست رمز جدید بده. اما بعد از قفل شدن فقط باید دستی قفل باز کرد با فراخوانی متد های مبرشیپ
مشکل از کجا می تونه باشه ؟
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="30">
<providers>
<clear/>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlConnection" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false"/>
</providers>
</membership>