login   otázka

SQL

Ahoj mam problem z prihlasovanim ... no registraciu som spravil cez datalist a ted sa nevim pohnout z prihlasovanim jak to bude fungovat aby to skontrolovalo meno a heslo ?? ako sa spravi aby bol uzivatel prihlaseny na master page?mozem pouzit i textbox ci musi to bit ta komponenta login ??

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Použijte raději nějakého hotového providera.Zrovna login a validace nepatří mezi nejjednodušší fce

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ok nasiel som tento code vyzera ze funguje ale pls skontroluj ci tam neni daka chyba


<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">

	Sub btnLogin_OnClick(Src As Object, E As EventArgs)
		Dim myConnection  As OleDbConnection
		Dim myCommand     As OleDbCommand
		Dim intUserCount  As Integer
		Dim strSQL        As String

		strSQL = "SELECT COUNT(*) FROM tblLoginInfo " _
			& "WHERE username='" & Replace(txtUsername.Text, "'", "''") & "' " _
			& "AND password='" & Replace(txtPassword.Text, "'", "''") & "';"

		myConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _
			& "Data Source=" & Server.MapPath("login.mdb") & ";")

		myCommand = New OleDbCommand(strSQL, myConnection)

		myConnection.Open()
		intUserCount = myCommand.ExecuteScalar()
		myConnection.Close()

		'Response.Write(intUserCount)
		If intUserCount > 0 Then
			lblInvalid.Text = ""
			FormsAuthentication.SetAuthCookie(txtUsername.Text, True)
	        Response.Redirect("login_db-protected.aspx")
		Else
			lblInvalid.Text = "Sorry... try again..."
		End If
	End Sub

</script>

<html>
<head>
<title>ASP.NET Login (Database-Driven) Sample</title>
</head>
<body>

<form runat="server">

	Username: <asp:TextBox id="txtUsername" runat="server" /><br />
	Password: <asp:TextBox id="txtPassword" TextMode="password" runat="server" /><br />
	<br />
	<asp:Button id="btnLogin" runat="server"
		text="Login" OnClick="btnLogin_OnClick"
	/>
    <asp:Label ID="lblinvalid" runat="server" Text="Label"></asp:Label>
</form>

</body>
</html>

dik a este tento code znamena ze ked vytvorim dalsiu stranku uz tam bude prihlaseny

FormsAuthentication.SetAuthCookie(txtUsername.Text, True)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Prosím používejte parametry při vytváření dotazu! Skládané dotazy (krom nepřehlednosti) jednou z největších bezpečnostních děr. Pouhé nahrazení apostrofů vás často neochrání.

Jak používat jednoduše a bezpečně parametry v článku:

http://www.vbnet.cz/clanek--52-komunikac...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

aha dekuji moc a co ted je to bezpecnejsi ??

strSQL = "SELECT COUNT(*) FROM tblLoginInfo " _
         & "WHERE username='" & Replace(txtUsername.Text, "@", "''") & "' " _
         & "AND password='" & Replace(txtPassword.Text, "@", "''") & "';"

ale aj tak je to zaujmave ako dokaze poznamka v zdrojaku ovplinit bezpecnost ??

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vůbec ne. Právě naopak. Asi jste ten článek vůbec nečetl.

Jde o to, že hodnoty nevkládáte skrze dotaz, ale pomocí parametrů. To dává lepší možnost přenášet i binární hodnoty, které mohou někdy dělat problémy při konverzi na text a zpět z něj. Například datum a čas, či pole binárních hodnot.

Správně je to takto:

strSQL = "SELECT COUNT(*) FROM tblLoginInfo " _
         & "WHERE username=@username' " _
         & "AND password=@password;"

cmd.Parameters.AddWithValue("@username", txtUsername.Text)
cmd.Parameters.AddWithValue("@password", txtPassword.Text)
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

hmm akosi to nefunguje kde mam dat to

cmd.Parameters.AddWithValue("@username", txtUsername.Text)

cmd.Parameters.AddWithValue("@password", txtPassword.Text)

a este mi robi starosti ked mam master page a uz sa prihlasim ako sa da potom dalej pracovat z tymi datami co su v riadku toho uzivatela

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zaprvé: kdybyste si přihlašování nepsalsám a použil to, které je integrované v ASP.NET, tak byste si ušetřil spoustu problémů, mimo jiné ten problém s masterpages.

Zadruhé: než v ASP.NET začnete cokoliv, nastudujte si něco - bude se vám lépe začínat, když pochopíte, o co se vlastně jedná. Jak pracovat s uživatelskými účty je popsáno jak zde na webu v článcích, tak ive videotutoriálech o ASP.NET na www.mstv.cz.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nevidím důvod proč všude používat providery. Zvlášť pro začátečníka je dle mého názoru lepší si takovéhle věci zkusit nejdřív napsat sám.

Skládat systém z komponent lze dobře až tehdy, pokud jim alespoň trochu rozumíte. Pokud je ale problém zavolat dotaz do databáze, tak nemá cenu plácat přes celý problém providery.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pro začátečníka je hlavně nejdůležitější pochopit principy, jak to udělat, než takovou věc začne psát. I když se třeba něco naučí tím, že si přihlašování napíše sám a blbě, stejně si myslím, že by se měli snažit učit se postupně - od jednoduchých věcí až po ty složité.

Pro tazatele je sice problém zavolat dotaz do databáze, ale plácnout komponentu Login na stránku a naklikat oprávnění by podle návodu zvládnul a tím to má de facto celé vyřešené.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Považoval jsem cmd jako proměnnou, ve které máte přiřazený OleDbCommand.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

no zaujmave ked tam pridam tu komponentu login ktora tam je ako ju pripojim k databazi ? som si pozeral tie videotutoriali asi prvich 10 je to zaujmave

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Poprosil by som vás, keby ste používali niektorý zo zrozumiteľných jazykov. Jazyku, ktorý používate, takmer vôbec nerozumiem.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

OK pozrel som si vsedky videa zaciname z asp.net a je tam chyba pretoze su tam 2 databazi z uzivatelmi ctenari a ta druha stiahnuta users ked by som isiel pracovat z tou users tak ako mam vytvorit registraciu ?? ked heslo je v tej databaze zaheshovane ... mohol by som pouzit komponentu formwiev ale co z tym heslom ???

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Je tam komponenta CreateUserWizard, lze jí i specifikovat vlastní vzhled.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ou diki akosi som ju prehliadol este ste tam vravel ze sa da zariadit ze pri registracii za zapise aj IP adresa pouzil ste nieaku fiktivnu ale ako sa da spravit aby sa pri registracii zapisala a skontrolovala z tymi co tam uz su realna dekuji

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Teď nějak nerozumím, co chcete. Při registrasi se uložit adresa dá, třeba v události UserCreated se podíváte na Request.UserHostAddress.

Ale nechápu, proč byste chtěl kontrolovat, jestli tam už není. IP adresu má mnoho lidí dynamickou a když přejdou k jinému počítači, nemohli by se přihlásit. K čemu to chcete?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde o takovej reklamnej web čiže dynamická IP je výhodou...

Hledal jsem to ale v komponente CreateuserWizard jsem nic takovej nenašel skousil jsem to pridat do kodu no vypsalo mi to chybu.

Do databazi users som pridal stĺpeček IP a dal jsem nchar(30/

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback