iBotPeaches Posted March 30, 2010 Report Posted March 30, 2010 The authentication system used by various apps has been updated on the server side. It is now 1 query instead of 2, and operates on (Sign in, quick reply, and normal post) for updating your IP, post count, group id, and REP count). Thanks for the various users for helping out with the test. The source in C#, for anyone. You must include these classes. using System.Net; using System.Collections; public void authMe() { /* * Allowed User Groups to post, edit this yourself * Remove the ones that you DONT want to use your program * For this demo, all the groups are there * * The ones that are missing are Bots, * Guests and some old usergroups that are hidden */ ArrayList aug = new ArrayList(); // aug.Add(1); //Validating aug.Add(3); //Members aug.Add(4); //Owner // aug.Add(5); //Banned aug.Add(7); //Sub Admins aug.Add(; //VIP aug.Add(9); //Global Mods aug.Add(10); //GFX Team aug.Add(12); //Retired Staff aug.Add(14); //Members+ aug.Add(15); //Donors aug.Add(16); //Donors+ //These are the the levels of which you want for posts and REP int minPosts = 0; int minRep = 0; //The client to download the string, which contains all login info WebClient client = new WebClient(); string info = client.DownloadString("http://www.ibotmodz.net/index.php/prog/api"); client.Dispose(); //Check if website online or not if (String.IsNullOrEmpty(info)) MessageBox.Show("iBotModz is offline"); //Gathering the 4 variables String user = info.Substring((info.IndexOf("[user]") + 6), ((info.IndexOf("[/user]") - (info.IndexOf("[user]") + 6)))); //Check if guest if (String.IsNullOrEmpty(user)) { MessageBox.Show("Please become a member on iBotModz.net." + Environment.NewLine + Environment.NewLine + "If you are a member....Make a post" + Environment.NewLine + "Without using the quick reply "); Environment.Exit(0); } int posts = Convert.ToInt32(info.Substring((info.IndexOf("[posts]") + 7), ((info.IndexOf("[/posts]") - (info.IndexOf("[posts]") + 7))))); int rep = Convert.ToInt32(info.Substring((info.IndexOf("[rep]") + 5), ((info.IndexOf("[/rep]") - (info.IndexOf("[rep]") + 5))))); int groupID = Convert.ToInt32(info.Substring((info.IndexOf("[groupid]") + 9), ((info.IndexOf("[/groupid]") - (info.IndexOf("[groupid]") + 9))))); //Check for posts if (minPosts > posts) { MessageBox.Show("You need more posts to use this program."); this.Close(); } //Check for REP level if (minRep > rep) { MessageBox.Show("You need more REP to use this program."); this.Close(); } //Check for memberID if (groupID == 0) MessageBox.Show("Sorry, you don't have a usergroup."); int flag = 0; // ((0 = failed)) ((1 = passed)) //This will go through each allowed ID, so lets hope we are in here foreach (int i in aug) { if (groupID == i) { //Yes we found it //Debug.WriteLine(groupID + " passed because it was equal to " + i); flag = 1; break; } else { //so far theres nothing, keep going flag = 0; //Debug.WriteLine(groupID + " failed because it was equal to " + i); } } switch (flag) { //Check the flag case 1: //Login passed break; case 0: //Login Failed this.Close(); break; } } An example project is attached.ibmAuth.rar
iTzoODavidOo Posted March 30, 2010 Report Posted March 30, 2010 Can you post an attachment with all the files in like the last one?
iBotPeaches Posted March 30, 2010 Author Report Posted March 30, 2010 Yeah, I'll remake an updated example. Give me 10 minutes.
iBotPeaches Posted March 30, 2010 Author Report Posted March 30, 2010 I have added an updated example project as per request.
Grape soda Posted March 30, 2010 Report Posted March 30, 2010 So what does it do? In common english please.
yungbol Posted March 31, 2010 Report Posted March 31, 2010 You add it to your app your coding to make sure the user is a member on iBotModz. It also can restrict a program for VIP only, quota of rep, or quota of post.
Rogue Modder Posted March 31, 2010 Report Posted March 31, 2010 Sexy Improvements, looks a lot more stable
iBotPeaches Posted April 12, 2010 Author Report Posted April 12, 2010 Sometimes a incomplete session caused by a unfinished login might result in the groupID being set as 0 or null, thus failing the ID check. Mostly only happens with guests on proxies, or spiders/bots.
Soviet Pro Posted April 13, 2010 Report Posted April 13, 2010 For those of you using Visual Basic .NET, here is the converted code: Public Sub authMe() ' ' * Allowed User Groups to post, edit this yourself ' * Remove the ones that you DONT want to use your program ' * For this demo, all the groups are there ' * ' * The ones that are missing are Bots, ' * Guests and some old usergroups that are hidden ' Dim aug As New ArrayList() ' aug.Add(1); //Validating aug.Add(3) 'Members aug.Add(4) 'Owner ' aug.Add(5); //Banned aug.Add(7) 'Sub Admins aug.Add( 'VIP aug.Add(9) 'Global Mods aug.Add(10) 'GFX Team aug.Add(12) 'Retired Staff aug.Add(14) 'Members+ aug.Add(15) 'Donors aug.Add(16) 'Donors+ 'These are the the levels of which you want for posts and REP Dim minPosts As Integer = 0 Dim minRep As Integer = 0 'The client to download the string, which contains all login info Dim client As New WebClient() Dim info As String = client.DownloadString("http://www.ibotmodz.net/index.php/prog/api") client.Dispose() 'Check if website online or not If [string].IsNullOrEmpty(info) Then MessageBox.Show("iBotModz is offline") End If 'Gathering the 4 variables Dim user As [string] = info.Substring((info.IndexOf("[user]") + 6), ((info.IndexOf("[/user]") - (info.IndexOf("[user]") + 6)))) 'Check if guest If [string].IsNullOrEmpty(user) Then MessageBox.Show((("Please become a member on iBotModz.net." & Environment.NewLine) + Environment.NewLine & "If you are a member....Make a post") + Environment.NewLine & "Without using the quick reply ") Environment.[Exit](0) End If Dim posts As Integer = Convert.ToInt32(info.Substring((info.IndexOf("[posts]") + 7), ((info.IndexOf("[/posts]") - (info.IndexOf("[posts]") + 7))))) Dim rep As Integer = Convert.ToInt32(info.Substring((info.IndexOf("[rep]") + 5), ((info.IndexOf("[/rep]") - (info.IndexOf("[rep]") + 5))))) Dim groupID As Integer = Convert.ToInt32(info.Substring((info.IndexOf("[groupid]") + 9), ((info.IndexOf("[/groupid]") - (info.IndexOf("[groupid]") + 9))))) 'Check for posts If minPosts > posts Then MessageBox.Show("You need more posts to use this program.") Me.Close() End If 'Check for REP level If minRep > rep Then MessageBox.Show("You need more REP to use this program.") Me.Close() End If 'Check for memberID If groupID = 0 Then MessageBox.Show("Sorry, you don't have a usergroup.") End If Dim flag As Integer = 0 ' ((0 = failed)) ((1 = passed)) 'This will go through each allowed ID, so lets hope we are in here For Each i As Integer In aug If groupID = i Then 'Yes we found it 'Debug.WriteLine(groupID + " passed because it was equal to " + i); flag = 1 Exit For Else 'so far theres nothing, keep going 'Debug.WriteLine(groupID + " failed because it was equal to " + i); flag = 0 End If Next Select Case flag 'Check the flag Case 1 'Login passed Exit Select Case 0 'Login Failed Me.Close() Exit Select End Select End Sub
iBotPeaches Posted April 14, 2010 Author Report Posted April 14, 2010 Seems the code spacing and color coding failed miserably. Thanks for the convert though. If you just copy it into VB the spacing will fix itself. Then it will look much cleaner.
Soviet Pro Posted April 14, 2010 Report Posted April 14, 2010 Yeah, it is a online convert tool and the colour thing is it's fault VB wil recognize it though
Recommended Posts