0

前の質問の回答からわかりましたが、ここでもその理由が当てはまりますが、今回は別の問題です。私が作成していたランチャー用に取得したログイン システム (Loginvb.vb) があり、次の 2 つのことを疑問に思っていました。

  1. データベースでログインチェックを行うより良い方法はありますか (より安全なように) (ログインスタイルには、PHP スクリプトを介した Web ベースの登録設定があります)?
  2. データベース内の特定の列 (アクセスとしてラベル付けされている) を取得し、それをパブリック文字列として配置して、Main.vb としてラベル付けされた別の形式で 1 ​​2 または 3 に等しいかどうかを確認する方法はありますか?

現在のログインチェックは次のとおりです。

Public Sub login_Click(sender As Object, e As EventArgs) Handles login.Click
    If txtuserName.Text = "" Or txtpassWord.Text = "" Then
        MsgBox("You cannot progress until you login....(moron =p)")
    Else
        'Connects To the Database 
        Dim connect As MySqlConnection
        connect = New MySqlConnection()
        connect.ConnectionString = "server=127.0.0.1;user id=sc;Password=derp;database=sclaunch" 'not the actual login ;)
        Try
            connect.Open()
        Catch myerror As MySqlException
            MsgBox("Error Connecting to Database. Please Try again !")
        End Try
        'SQL Query To Get The Details
        Dim myAdapter As New MySqlDataAdapter
        Dim sqlquerry = "Select * From login where username = '" + txtuserName.Text + "' And password= '" + txtpassWord.Text + "'"
        Dim myCommand As New MySqlCommand()
        'My fail attempt at what I am trying to do :(
        Dim sql22 As MySqlConnection
        sql22 = New MySqlConnection()
        sql22.ConnectionString = "Select * From login where access ="
        'End of fail attempt
        myCommand.Connection = connect
        myCommand.CommandText = sqlquerry
        'Starting The Query
        myAdapter.SelectCommand = myCommand
        Dim mydata As MySqlDataReader
        mydata = myCommand.ExecuteReader
        'To check the Username and password and to validate the login 
        If mydata.HasRows = 0 Then
            MsgBox("Invalid Login")
        Else
            'fail testing xD
            Label3.Text = sql22
            MsgBox("You are now Loged In!")

        End If
    End If
End Sub

試行錯誤と行き詰まる瞬間を愛してコードを書いているので、基本的には基本的にどんどん学んでいます =/ (サイトにまだ新しいタグの問題を修正してくれた管理者や何かに申し訳ありません xD)

4

1 に答える 1