ورود

View Full Version : سوال: ساخت لاگین در پایتون



parvizmo
چهارشنبه 01 شهریور 1391, 13:34 عصر
سلام به همه دوستان
ببخشید دوستان من ميخواستم براي سايتم که با پايتون مي نويسم يک لاگين بنويسم
درست بودن نام کاربري و رمز و خوندن نام کاربري از ديتابيس را انجام ميدم اما ميخوام بعد از پيدا شدن نام کاربري اسم کاربر در برچسبي که بطور پيش فرض مقدار "مهمان" را دارد قرار گيرد و با رفرش صفحه نيز اسم کاربر از اون برچسب پاک نشود اما هر کاري کردم نشد.
در ضمن من از cgi استفاده می کنم.
توی برخی سایتها نوشته اند که از کوکی و سشن استفاده بشه اما من هر کاری کردم نشد یعنی کار با کوکی و سشن را خوب بلد نیستم.
دوستانی که با پایتون کار کرده اند لطفا راهنمايي کنند(در صورت امکان با نوشتن کد)
ممنون

sahama
چهارشنبه 01 شهریور 1391, 16:35 عصر
باید یه متغیر تعریف کنی که مشخصات کاربری که داره صفحه رو مشاهده می کنه در اون ثبت بشه
بعد با لاگین کردن مشخصات این متغییر تغییر کنه
توصیه اکید می کنم که کار با سشن و کوکی رو یاد بگیرید و درک کنید که هر کدوم دقیقا چه کاری انجام می دهند چون کار شما وابسته به درک کار اونها است (البته بیشتر کوکی)
می تونید هم از فریم ورک هایی استفاده کنید که این کار رو برای شما انجام می دهد و خودتون رو در گیر لاگین کردن نکنید

parvizmo
چهارشنبه 01 شهریور 1391, 17:03 عصر
باید یه متغیر تعریف کنی که مشخصات کاربری که داره صفحه رو مشاهده می کنه در اون ثبت بشه
بعد با لاگین کردن مشخصات این متغییر تغییر کنه
توصیه اکید می کنم که کار با سشن و کوکی رو یاد بگیرید و درک کنید که هر کدوم دقیقا چه کاری انجام می دهند چون کار شما وابسته به درک کار اونها است (البته بیشتر کوکی)
می تونید هم از فریم ورک هایی استفاده کنید که این کار رو برای شما انجام می دهد و خودتون رو در گیر لاگین کردن نکنید

دوست عزیز ممنونم از راهنماییتون
من روشی را که شما گفتین امتحان می کنم اما دوست دارم این کار رو با کوکی و سشن انجام بدهم اما متاسفانه توی اینترنت خیلی گشتم اما هیچ کدوم از مطالب برام کاملا قابل فهم نبود/اگر ممکنه خودتو یه کم کار با کوکی و سشن در پایتون را برام توضیح بدید یا اگر منبعی دارید برام ارسال کنید.
آدرس ایمیل من:parviz.geinar@gmail.com
بازم ممنون

parvizmo
پنج شنبه 02 شهریور 1391, 14:56 عصر
باید یه متغیر تعریف کنی که مشخصات کاربری که داره صفحه رو مشاهده می کنه در اون ثبت بشه
بعد با لاگین کردن مشخصات این متغییر تغییر کنه
توصیه اکید می کنم که کار با سشن و کوکی رو یاد بگیرید و درک کنید که هر کدوم دقیقا چه کاری انجام می دهند چون کار شما وابسته به درک کار اونها است (البته بیشتر کوکی)
می تونید هم از فریم ورک هایی استفاده کنید که این کار رو برای شما انجام می دهد و خودتون رو در گیر لاگین کردن نکنید
تونستم کوکي بسازم و بخونمش اما يه مشکلي هست و اون اينکه ساخت کوکي حتما بايد قبل از عبارت
"content-type:text/html" باشه و من ميخوام در صورت نادرست بودن نام کاربري يا رمز،با استفاده از جاوا اسکريپت يک پيغام صادر کنم اما قبل از عبارت "content-type:text/html" نميشه از کدهاي html و javascript استفاده کرد(يعني اصلا کار نمي کنن )
الان من چيکار کنم که اين مشکل حل بشه؟

sahama
پنج شنبه 02 شهریور 1391, 18:09 عصر
دقیقا متوجه نشدم مشکل چی است اما شما می تونید قبل از ذخیره کوکی اقدام به اعتبار سنجی اون کنید

parvizmo
پنج شنبه 02 شهریور 1391, 18:22 عصر
دقیقا متوجه نشدم مشکل چی است اما شما می تونید قبل از ذخیره کوکی اقدام به اعتبار سنجی اون کنید

منظورم اینه که وقتی کاربر نام کاربری و پسورد خود را وارد کرد من باید بررسی کنم که همچین نام کاربری و پسورد توی دیتابیس هست یا نه؟ اگر بود کوکی ساخته بشه و اگر نبود پیغام بده که اطلاعات وارد شده درست نیست حالا اگر میشد کوکی را بعد از اون عبارت contetn-type ساخته بشه مشکل حل بود اما مسئله اینجاست که نمیشه قبل از این عبارت،کوکی را ساخت.
اینم کدمه:


if (x=="login"):
with con:
login=form1.getvalue("user")
passw=form1.getvalue("pass")
cur.execute('select name from register where username="%s" AND pass="%s"'%(login,passw))
result=cur.fetchall();
if(len(result[0])!=0):
print 'Set-Cookie:userlog=%s'%result[0]
else:
print '<script type="text/javascript">alert("نام کاربری یا پسورد وارد شده اشتباه است")</script>'

که اینطوری قسمت ایلس کار نمی کنه چون داخل content-type است

sahama
پنج شنبه 02 شهریور 1391, 18:29 عصر
این دیگه حوزه تخصصی جاوا اسکریپته و من خیلی وارد نیستم
من با html می تونم چنین کاری رو انجام بدم ولی صفحه یه بار رفرش می شه که ظاهرا شما چنین چیزی رو نمی خواهید که دارید از جاوا اسکریپت استفاده می کنید

parvizmo
پنج شنبه 02 شهریور 1391, 18:34 عصر
این دیگه حوزه تخصصی جاوا اسکریپته و من خیلی وارد نیستم
من با html می تونم چنین کاری رو انجام بدم ولی صفحه یه بار رفرش می شه که ظاهرا شما چنین چیزی رو نمی خواهید که دارید از جاوا اسکریپت استفاده می کنید

نه ربطی به جاوا اسکریپت ندارد/کدهای جاوا اسکریپت رو هر بعد از عبارت مذکور هر کجا بنویسی جواب میده
با اچ تی ام ال چطوری میشه این کارو انجام داد؟

sahama
پنج شنبه 02 شهریور 1391, 18:50 عصر
خوب اگر اینطوره با زبان پایتون و از سمت سرور اقدام به تنظیم کوکی کنید
اینطوری تنها زمانی اقدام به تنظیم کوکی کنید که کاربر نام کاربری و پسورد صحیح رو وارد کرده
از چه میکروفریم ورکی دارید استفاده می کنید؟

parvizmo
پنج شنبه 02 شهریور 1391, 18:52 عصر
خوب اگر اینطوره با زبان پایتون و از سمت سرور اقدام به تنظیم کوکی کنید
اینطوری تنها زمانی اقدام به تنظیم کوکی کنید که کاربر نام کاربری و پسورد صحیح رو وارد کرده
از چه میکروفریم ورکی دارید استفاده می کنید؟
اگه میشه با کد توضیح بدید
من آپاچی استفاده می کنم

sahama
جمعه 03 شهریور 1391, 17:30 عصر
خوب اگر بخوام با کد توضیح بدم باید بشیم کد نویسی که حقیقتا حوصله اش رو ندارم اما در کل اطلاعات لاگین از یه طریقی حالا post یا get یا هر چی دیگه فرستاده می شه به سرور اونجا سرور این نام کاربری و پسورد رو بررسی می کنه و در صورت درست بودن اطلاعات با کلایت بر می گرده(همراه با رفرش شدن) که در این اطلاعات ورود موفقیت آمیز اعلام می شه و همین طور کوکی هم ست می شه
آپاچی میکرو فریم ورک نیست
منظورم از میکرو فریم ورک ، اون فریم ورک های کوچکی هستند که تنها امکانات اولیه رو برات فراهم می کنند که البه در برنامه نویسی خیلی مفیدند مثل این bottlepy.org یا flask که البته باید تو اینترنت در موردشون جستجو کنی