What's new

Tools NETLock FREE Open Source, Secure, and Minimal MySQL login system for your tool!

Did you find NETLock to be useful in one way or another?

  • Yes

    Votes: 4 100.0%
  • No

    Votes: 0 0.0%

  • Total voters
    4
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
NETLock is a Project that I've been working on for a couple month's now to bring a Free secure and open source way to allow users to create a login system for their C# application in a simple, easy, and very customizable way with lots of help from me or the knowledge you maybe already have!
[Click here to view this link]

==This Update (Current Version: 3.2.3)==

THIS UPDATE: (+ = added | - = removed | x = bug fixs)
x - Fixed a bug where, if you had maintenance mode and free mode activated at the same time you could still login.

==Features==
- Tampering Detection for packet sniffing applications like but not limited to Wireshark, tcpdump, and Telerek's Fiddler
- Duplicate user check on registration
- Very Strong implementation of BCrypt hashing method with salts
- Admin Panel (Look at latest update log to find out more)
- Program authentication to database as a security measure before you can use any of the features in NETLock.
- Ban, Unban, and Delete Users.
- Ability to pick between Paid Registration that utilizes a licensing system via admin panel and the Free Registration which is the one I already demonstrated in the last video tutorial
- File Hash Checking (MD5)
- File Hash Calculator (MD5)
- Licensing
- Free Mode toggle
- Maintenance Mode toggle
- HWID Checking toggle
- Grab, Generate, Copy, and Delete Licenses from the DB
- Grab, Generate, Copy, and Delete tokens from the DB
- Organized code with easy to understand naming scheme!
- Very Easily Customizable!
- Easy to implement into application's new and already existing!





NOTE: I only provide the code, database file and example application it's up to you to get a server and get phpmyadmin running on it. This is all my own open source work. Remember to change the connection string to fit your needs. The connection string is located under "internal class ConnectionMethods" its called MySqlConnection conn = new MySqlConnection("This is what you edit to fit your needs"); Example in the spoiler below.

Example: MySqlConnection conn = new MySqlConnection("Server=29.291.332.32; Uid=root; Pwd=; Database=7s;");
-Meaning of each identifier in the connection string-
Server: the IP address of your server that's running phpmyadmin
Uid: Username of the main account on phpmyadmin the default is "root"
Pwd: The password of the main account by default its usually isn't set to anything that's why I have it blank in the above example
Database: is the name of the database you'll be pulling and storing info to and from, I have it set to mass in the above example because that the name of the database I setup by default for the DLL NETLock to use.

Video Tutorial (Working with Version 2.0.1.0 Free Registration Only) (Paid registration tut coming soon)
 
Last edited:
T

thementaldj27

Enthusiast
Messages
65
Reaction score
5
The easiest way of implementing this?
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
The easiest way of implementing this?

NOTE: Disregard this, it's for an older version of the project.
1. get a vps or server that is setup to run a MySQL databse otherwise know as phpmyadmin

2. Change the connection string follow the example above

3. in phpmyadmin import the database from the file in the github link

4. Keep the imported database named "mass"

5. Compile the solution for netlock the one with the ExampleProject and the NETLock Dll in one as release.

6. Make a new project or add to your existing one a reference to the NETlock dll which you should have just compiled in the step above and just copy the MySql.Data.dll to your projects debug and release folder and then the programs real folder that you'll be running it from.

7. For implementing it into your own program its easy its in the example application but here you go. Look below.

Code:
using NETLock;
This is to reference the dll ^

Code:
LoginResponse YourVar = new LoginResponse();
if(YourVar.Login(username, password))
{
//Login Successful
}
else
{
//Login Failed
}
This is to login ^

Code:
            RegisterResponse YourVar2 = new RegisterResponse();
            if(YourVar2.Register(username, password))
            {
                //Register Success
               //Do something
            }
            else
            {
                //Register Failed
                //Do something
            }
This is to register ^

Hope that helps
 
Last edited:
T

thementaldj27

Enthusiast
Messages
65
Reaction score
5
1. get a vps or server that is setup to run a MySQL databse otherwise know as phpmyadmin

2. Change the connection string follow the example above

3. in phpmyadmin import the database from the file in the github link

4. Keep the imported database named "mass"

5. Compile the solution for netlock the one with the ExampleProject and the NETLock Dll in one as release.

6. Make a new project or add to your existing one a reference to the NETlock dll which you should have just compiled in the step above and just copy the MySql.Data.dll to your projects debug and release folder and then the programs real folder that you'll be running it from.

7. For implementing it into your own program its easy its in the example application but here you go. Look below.

Code:
using NETLock;
This is to reference the dll ^

Code:
LoginResponse YourVar = new LoginResponse();
if(YourVar.Login(username, password)
{
//Login Successful
}
else
{
//Login Failed
}
This is to login ^

Code:
            RegisterResponse YourVar2 = new RegisterResponse();
            if(YourVar2.Register(username, password)
            {
                //Register Success
               //Do something
            }
            else
            {
                //Register Failed
                //Do something
            }
This is to register ^

Hope that helps


Thank you for this, I will take a look at this. I think others will appreciate the help too.
 
T

thementaldj27

Enthusiast
Messages
65
Reaction score
5
I have followed the instructions but I have no server I.P because of it being free hosting instead of an actual VPS. is there anyway I can insert users into MYSQL (PHPMyAdmin)

I edited the example program and change the connection string to the server that I had which I did by resolving the variable for localhost in SQL on the page, I used that but whenever i try to register a user, it doesn't work. Any help?
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
I have followed the instructions but I have no server I.P because of it being free hosting instead of an actual VPS. is there anyway I can insert users into MYSQL (PHPMyAdmin)

I edited the example program and change the connection string to the server that I had which I did by resolving the variable for localhost in SQL on the page, I used that but whenever i try to register a user, it doesn't work. Any help?
Can you tell me more about who you have the VPS with and explain what you did a little better I didn't quite understand it the way explained it
 
T

thementaldj27

Enthusiast
Messages
65
Reaction score
5
Can you tell me more about who you have the VPS with and explain what you did a little better I didn't quite understand it the way explained it


well its not a VPS, its a web server that runs PHPMyAdmin - 000webhost.
The PHPMyAdmin works great but it doesn't have the server I.P
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
well its not a VPS, its a web server that runs PHPMyAdmin - 000webhost.
The PHPMyAdmin works great but it doesn't have the server I.P
000webhost doesn't allow outside connections to there Phpmyadmin servers unless you have a paid version of there service
 
C

Cakes

お前はもう死んでいる
VIP
Retired
Messages
20,791
Reaction score
20,213
This is a neat system for basic usage, but in general it's extremely easy to bypass if the housing application is not properly protected.
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
This is a neat system for basic usage, but in general it's extremely easy to bypass if the housing application is not properly protected.
Very easy but as i said it's just for your free applications at least that's what i intended it for. I mean who really wants to bypass something that's meant to be free anyways
 
C

Cakes

お前はもう死んでいる
VIP
Retired
Messages
20,791
Reaction score
20,213
Very easy but as i said it's just for your free applications at least that's what i intended it for. I mean who really wants to bypass something that's meant to be free anyways
That's true, but I thought I'd mention it anyway. I didn't view the source thoroughly, but I assume you've taken proper precautions against SQL injections, XSS, etc.?
 
I

ImOx

(^._.^)ノ
Retired
Messages
9,968
Reaction score
2,963
Very easy but as i said it's just for your free applications at least that's what i intended it for. I mean who really wants to bypass something that's meant to be free anyways
But why would there be (an annoying) thing like this in a free application?
:o
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
This is a neat system for basic usage, but in general it's extremely easy to bypass if the housing application is not properly protected.
A more secure way to implement this would be using TCP socketing and connecting to a server that having a listener running and just send the essential information to it like username and password and have it do the insertion to the database that would eliminate the need to obfuscate the connection string and you wouldn't be storing sensitive information in the application at all such as server address and login information 
But why would there be (an annoying) thing like this in a free application?
:o
There are plenty of free applications out there that have a login system and this could be added on to make things such as differentiating user levels all 1 - 7 1 being users 7 being developers or admins and that is pretty easily implemented as I will still be adding onto this project I have many ideas!
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
That's true, but I thought I'd mention it anyway. I didn't view the source thoroughly, but I assume you've taken proper precautions against SQL injections, XSS, etc.?
Yes I have a process check on each login and register request that checks for most of the applications that allow things such as packet sniffing and injection.
 
X

XeCrash

C++, C# Coder/Support
Messages
690
Reaction score
144
But why would there be (an annoying) thing like this in a free application?
:o
Just crushed my dreams Ox :frown:
Just kidding lmao I see where you're coming from be I will be adding onto the project to support more than registering and logging in!.
 
I

ImOx

(^._.^)ノ
Retired
Messages
9,968
Reaction score
2,963
Just crushed my dreams Ox :frown:
Just kidding lmao I see where you're coming from be I will be adding onto the project to support more than registering and logging in!.
Your ideas sound cool, don't give up with it and make it really useful so it's nice.
 
T

thementaldj27

Enthusiast
Messages
65
Reaction score
5
000webhost doesn't allow outside connections to there Phpmyadmin servers unless you have a paid version of there service
Can you suggest/reference a free service which does?
 
C

Cakes

お前はもう死んでいる
VIP
Retired
Messages
20,791
Reaction score
20,213
A more secure way to implement this would be using TCP socketing and connecting to a server that having a listener running and just send the essential information to it like username and password and have it do the insertion to the database that would eliminate the need to obfuscate the connection string and you wouldn't be storing sensitive information in the application at all such as server address and login information
You could increase security a lot by having a server-side counterpart to the setup. For validating and handling requests, and preventing the application from needing to establish a connection with the MYSQL server directly.
 
Top Bottom