PDA

View Full Version : سوال: تایید صحت اطلاعات برای ورود کاربر به سایت از طریق webbrowser



sinavb
یک شنبه 07 فروردین 1390, 07:04 صبح
سلام اساتید
یه سوال دارم در مورد webbrowser
من یه پروژه دارم که می خوام کاربرم رو به سایتم وصل کنم با استفاده از نرم افزار
کاربر وقتی شناسه یا رمز عبور خودشو اشتباه وارد می کنه سایت یه پیغام می ده که اشتباه وارد کردی اون پیغام نمایش داده می شه
مشکلمو از لحاظ ورود غلط نام کاربری و پسورد کاربرا راحت کرد ولی حالا می خوام بگم به نرم افزار که اگه مشخصاتش درست بود فلان فرم رو نشون بده
یه راهنمایی بکنید منو که از چه راحی استفاده کنم

parselearn
یک شنبه 07 فروردین 1390, 07:26 صبح
اين بستگي به سايت داره

ميشه از روي محتوا اين مسئله رو فهميد

يا معمولا بعد از ورود به صفحه اي ديگر منتقل ميشوند

sinavb
یک شنبه 07 فروردین 1390, 07:31 صبح
چطور باید بفهم از کجای سورس باید بفهمم
کاربر بعد از ورود اطلاعاتش به صفحه جدیدی میره

aria1o
یک شنبه 07 فروردین 1390, 08:59 صبح
سلام
بعد login شدن چه رویدادی تو سایت رخ میده؟از همون استفاده کن و اگر شرط برابر با اون شد فرم X باز بشه.

sinavb
یک شنبه 07 فروردین 1390, 09:21 صبح
آریا جان بالا که گفتم وقتی یوزر و پسوردش رو وارد می کنه وارد صفحه کاربریش میشه

parselearn
یک شنبه 07 فروردین 1390, 09:45 صبح
شما چگونه ميفهميد كه رمز عبور اشتباه بوده

با همان روش با توجه به متني كه در كنترل پنل هست ميتونيد بفهميد كه وارد شده

sinavb
یک شنبه 07 فروردین 1390, 09:55 صبح
دوست عزیز مشخصه مطلب منو دقیق نخوندی
وقتی من سایتو از طریق وب بروزر باز می کنم و و با استفاده از تکس باکس و کامند یوزر و پس رو وراد سایت می کنم اگز اشتباه باشه خود سایت تویه مسیج باکس به کاربر می گه که اشتباهه این کاره منو اسون کرد چون وقتی مسیج باکس نشون داده میشه تو برنامه من هم نشون داده میشه و کاربر می فهمه که مشخصات رو اشتباه وارد کرده ولی وقتی درست وارد می کنه وب بروزر مستقیم میره تو صفحه شخصیش اون مو قع من نمی دونم که چکار باید بکنم ؟؟!!:متفکر:

parselearn
یک شنبه 07 فروردین 1390, 11:24 صبح
روشتون درست نيست
هر چند ديگه دوره پيامهاي اين شكلي گذشته

اما شما بايد محتواي صفحه رو بدست بياريد. سپس با استفاده از تابع instr مشخص كنيد كه اگر متن مورد نظر كه در پنل وجود داشت. صفحه رو تغيير بديد
http://barnamenevis.org/showthread.php?278717-%DA%86%D8%B7%D9%88%D8%B1-%D9%85%DB%8C%D8%B4%D9%87-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%AF%D8%A7%D8%AF-%DA%A9%D9%87-%D8%AF%D8%B1-webbrowser-%D9%85%D8%AA%D9%86-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87-%D9%88%D8%AC%D9%88%D8%AF-%D8%AF%D8%A7%D8%B1%D9%87-%DB%8C%D8%A7-%D9%86%D9%87-%D8%9F&highlight=webbrowser

javadt
یک شنبه 07 فروردین 1390, 11:33 صبح
الان مثلا شما توی صفحه ای به نام Login.php هستید و وقتی کاربر اطلاعات رو درست وارد کرد به صفحه Main.php ریدایرکت می شید که کاربر اونجا اطلاعات کاربریش رو می بینه
اگر همینجوری است که بالا گفتم شما فقط کافیه URL ها رو چک کنید تا بفهمید کاربر وارد شده یا نه
اما اگر ساییتون از ajax استفاده کرده می تونید بعد از لود شدن کامل صفحه سورسش رو بگیرید و از طریق چک کردن وجود یکسری کلمات متوجه بشید که کاربر وارد شده
فعلا این راه به ذهنم رسیده تا بعد

sinavb
یک شنبه 07 فروردین 1390, 11:58 صبح
ممنون از راهنمایی هر دوتون parselearn عزیز من از سورسی که تو اون صفحه بود چیزی متوجه نشدم
جواد جان مشکل من در اینجاست که صفحه شخصی هر کاربر یه آدرس خواص به خودش رو داره و یه آدرس مشخص نیست که بگم اگر این بود فرم و نشون بده و اگر نبود نه
مثلا http://example.com/index.php?page=p_user&user=MTU1Mg==
یا مثلا واسه یه کاربر دیگم اینه
http://example.com/index.php?page=p_user&user=MzQ3MA==
ولی یه چیز من می تونم اون زمانی که کاربر وارد سایت می شه و وارد صفحه شخصیش میشه اون موقع سورس سایتو بگیرم و توش کنترل کنم ببینم فلان کلمه هست یا نه ؟
اگر میشه یه راهنمایی بفرمایید

javadt
یک شنبه 07 فروردین 1390, 12:07 عصر
مشکلت کجاست برای این کار
سورس صفحه رو مثلا بریز توی یک تکست باکس و توش سرچ کن مثلا کلمه خوش آمدید user بود معلومه که کاربر لوگین کرده
فقط کلمه مورد جستجوت باید چیزی باشه که توی صفحه لوگین نباشه

sinavb
یک شنبه 07 فروردین 1390, 12:29 عصر
می تونی بگی چطوری باید یه همچین کاری بکنم

parselearn
یک شنبه 07 فروردین 1390, 12:43 عصر
به نشاني كه در پست قبلي دادم برويد

از روي url هم ميشه فهميد

ابتداي آدرس اگر اين http://example.com/index.php?page= بود. وادر شده است

بستگي به سايت داره

javadt
یک شنبه 07 فروردین 1390, 12:54 عصر
با این کد سورس صفحه رو بگیر
WebBrowser1.Document.documentElement.outerHTML
با این تابع هم جستجو کن
Instr

sinavb
یک شنبه 07 فروردین 1390, 13:17 عصر
فکر می کنم واسه پارسه راحت تر باشه
حالا پارسه جان بی زحمت بگو چطوری باید ببینم اول آدرس این هست یا نه ممنون

parselearn
یک شنبه 07 فروردین 1390, 13:44 عصر
تابع left يا mid

sinavb
یک شنبه 07 فروردین 1390, 13:54 عصر
خوب یه توضیح بده من بلد نیستم با این تابع کار کنم

aria1o
یک شنبه 07 فروردین 1390, 20:41 عصر
به خدا خوب نیست همه چیز رو حاضر و آماده بخوای ،منم خلاصه همین مطالب رو گفتم .... میتونی از همچین کدی استفاده کنی:



Set1:
Url = www.google.com
webbrowser1.Navigate Url

Do Until webbrowser1.ReadyState = READYSTATE_COMPLETE
DoEvents
loop
Set q = webbrowser1.Document
If InStr(q.body.innerHTML, "دستور مورد نظر") Then
GoTo Edameh
Else
GoTo Set1
End If
Edameh:

sinavb
دوشنبه 08 فروردین 1390, 03:23 صبح
نه دوست عزیز من حاضر آماده نخواستم تو قسمت بالا هم گفتم اگر میشه ** بفرمایید چطوری باید از دستورات فوق استفاده کنم ** نگفتم سورسه این برنامه ایی رو که من می خوام رو بزارید باز هم از راهنماییت ممنون

sinavb
دوشنبه 08 فروردین 1390, 03:36 صبح
دوست عزیز من کد شما رو در یه تایمر گزاشتم و آدرس مورد نظرم رو بهش دادم و می خوام اگر کلمه "امکانات" تو صفحه بود بره به فرم 1 ولی به آدرس اینترنتیم ارور Syntex میده
Set1:
Url = http://www.example.com/index.php?page=p_user&user=
WebBrowser1.Navigate Url

Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Set q = WebBrowser1.Document
If InStr(q.body.InnerHTML, "امکانات") Then
GoTo Edameh
Else
GoTo Set1
End If
Edameh:

aria1o
دوشنبه 08 فروردین 1390, 10:17 صبح
این کد رو نگاه کن شاید مشکلت رفع بشه!!:قلب:

sinavb
دوشنبه 08 فروردین 1390, 13:07 عصر
دوست عزیز بی نهایت ممنون از کمکت ایشالا هیچ وقت تو زندگیت به گره ای نخوری ممنون کارم راه اوفتاد :قلب::قلب::قلب::قلب::قلب::قلب:

gorg313
سه شنبه 11 شهریور 1393, 19:42 عصر
سلام به همه من الان برا ورود به رُز بلاگ از همين روش استفاده کردم متاسفانه باز اشتباه پيام ميده


لطفآ يکي از دوستان کمک کنه :لبخند:

Dr Saeed
سه شنبه 11 شهریور 1393, 19:59 عصر
سلام به همه من الان برا ورود به رُز بلاگ از همين روش استفاده کردم متاسفانه باز اشتباه پيام ميده


لطفآ يکي از دوستان کمک کنه :لبخند:


با سلام یه دستور شرطی خیلی ساده میشه حل کرد این رو


Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = ("http://www.rozblog.com/usercp.php") Then
MsgBox ("Vorod")
Else
MsgBox ("error")
End If


End Sub

gorg313
چهارشنبه 12 شهریور 1393, 16:12 عصر
با سلام یه دستور شرطی خیلی ساده میشه حل کرد این رو


Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = ("http://www.rozblog.com/usercp.php") Then
MsgBox ("Vorod")
Else
MsgBox ("error")
End If


End Sub





داداش دستت درد نکنه ولي من خودم تقريبآ از همين روال استفاده کرده بودم اما جواب نداد البته داخل کامند بود

Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

Q = "http://www.rozblog.com/login.php"

If WebBrowser1.LocationURL = Q Then

Label4.Caption = " .... ورود موفق نبود"

Else

'www.rozblog.com/panel

'دستورات اجرا شود

End If


اگه ميشه مشکل کُد بالا را بگيد

يه سوال ديگه داشتم در مورد حلقه ها دو تا ليست داريم

ميخوام تمام فيلدهاي ليست يک تک تک با تمام فيلدهاي ليست دو تست بشن مثلا تو ليست يک نوشته own و تو ليست دو اعداد و حروف مختلفي هست ميخوام با تک تکشون چک بشه

:لبخند: