Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    utente guest entra senza numero ID di registrazione

    Salve,
    ho cercato nel forum, ma non sono riuscito a trovare una soluzione al mio problema.

    Ho creato un forum su un mio sito. Autenticazione tramite normale login user-pass sugli utenti registrati.
    Ultimamente un utente entra come GUEST senza numero ID di registrazione. Perchè accade questo?
    grario

  2. #2
    Forse a causa dell'SQL Injection ?
    Prova a dare un'occhiata a questo articolo

  3. #3

    già controllato

    Non capisco se è per quello, io ho inserito un controllo per SQL Injection con questo codice:
    codice:
    '---recupera i campi con controllo protezione SQL injection
    	Function FixSQL(stringa)
    	stringa = Replace(stringa, "'", "''")
    	stringa = Replace(stringa, "%", "[%]")
    	stringa = Replace(stringa, "[", "[[]")
    	stringa = Replace(stringa, "]", "[]]")
    	stringa = Replace(stringa, "_", "[_]")
    	stringa = Replace(stringa, "#", "[#]")
    	FixSQL = stringa
    	End function
    	fusername     = fixsql(request.form("uName"))
    	fpass         = fixsql(request.form("uPass"))
    ma non so se basta.
    grario

  4. #4
    Perché non ci dai un link per verificare?

  5. #5

    ecco tutto il codice

    Questo è il seguito del codice descritto sopra dopo il controllo SQL injection
    codice:
     
    fusername     = fixsql(request.form("uName"))
    fpass         = fixsql(request.form("uPass"))
    
    Set rsUsers = oConn.Execute("SELECT * From Users WHERE uName='"&fusername&"' and uPass='"&fpass&"'" )
    '----se utente è trovato--------------------
    if not rsUsers.EOF then
    	Session("uID") = rsUsers.Fields("uID")
    	Session("Mod") = rsUsers.Fields("Mod")
    	Session("LastHere") = rsUsers("LastLoggedIn")
    	rsUsers.close
    	rsUserFind.close
    	Set oConn = nothing
    end if
    In testa al file è caricato un include common.inc
    codice:
    if Session("uID") = "" then Session("uID") = 0 'aka 'guest'
    Set rsUserFind = oConn.Execute("SELECT * From [Users] WHERE uID=" & Session("uID"))
    
    sub FindUser(x)
    	if x = 0 then 'causa errori se x = una stringa, MAI passare una stringa in questa funzione
    		FindUserName = "guest"
    		FindUserPosts = "No"
    		FindUserCountry = ""
    		FindUserDate = ""
    		FindUserSig = false
    		exit sub
    	else
    		'not the best method, but it works, bloody bugs!!!
    		'rsUserFind.move x, 1 just did not work!!!
    		rsUserFind.close
    		Set rsUserFind = oConn.Execute("SELECT * From [Users] WHERE uID=" & x)
    		
    		FindUserName = rsUserFind.Fields("uName")
    		FindUserPosts = rsUserFind.Fields("Posts")
    		FindUserCountry = rsUserFind.Fields("Location")
    		FindUserSig = rsUserFind.Fields("Sig")
    		FindUserMod = rsUserFind.Fields("Mod")
    		FindUserDate = rsUserFind.Fields("RegisteredOn")
    		FindUserEmail = rsUserFind.Fields("uEmail")
    		FindUserWebSite = rsUserFind.Fields("Website")
    	end if
    end su
    Questo è l'indirizzo http://www.udine4x4.org/forum/forum.asp
    grario

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.