Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
aydiner12

Login Prosedürü Hakkında

Önerilen Mesajlar

Merhaba,

@ PENTAGRAM 'ın daha önce bu konu hakkında verdiği bilgiye göz attım adımlarını aynı şekilde yapmaya çalıştım fakat sonuca erişemedim. eski konuya buradan erişebilirsiniz.


aşağıda prosedürleri paylaşıyorum bana yardımcı olabilir misiniz? yardımcı olacak arkadaşlar kendimi bu konuda geliştirmeye çalıştığım için prosedürlerde bir hata varsa lütfen açıklamasını yapabilirseniz gerçekten çok faydanız olacaktır. amacım server a login olabilmek değil sorunun nedenini öğrenmek ve sonrasında kendim yapabilmektir. bu alanda sizden alacağım çok destek olacak şimdiden hepinize teşekkür ederim.


''profiler'' den baktım ''ACCOUNT_LOGIN'' prosedürü ile bağlantı sağlanıyor.
 

Alıntı


USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[ACCOUNT_LOGIN] Script Date: 09/26/2018 11:03:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ACCOUNT_LOGIN]
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS

IF dbo.IsValidCharacters(@AccountID) = 1
BEGIN
SET @nRet = 2 -- Hesap Bulunamady.
RETURN
END

IF dbo.IsValidCharacters(@Password) = 1
BEGIN
SET @nRet = 3 -- ?ifreniz Hatalydyr.
RETURN
END
------- Database By_Bts Tarafindan Hazirlanmistir. --------
declare @ban int , @ban1 int, @ban2 int
select @nRet = count(straccountid) from currentuser
select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )

if @ban = 255 or @ban1 = 255 or @ban2 = 255
begin
Set @nRet = 4
RETURN
end

--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID
-- Oto Üyelik
select @nRet = count(straccountid) from tb_user where straccountid = @AccountID
if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end
-- Orjinalin Devamy 🙂
DECLARE @Nation tinyint, @CharNum smallint
SET @Nation = 0
SET @CharNum = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays=6
IF @pwd IS null
BEGIN
SET @nRet = 0
--SET @nRet = 4
RETURN
END
ELSE IF @pwd <> @Password
BEGIN
SET @nRet = 0
--SET @nRet = 3
RETURN
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
IF @CharNum = 0
BEGIN
SET @nRet = 1
RETURN
END
ELSE
BEGIN
SET @nRet = @Nation+1
--SET @nRet = 1
RETURN
END
 

 

 


ACCOUNT_LOGIs tablosu ne işe yarıyor bilmiyorum ama neden var olduğunu da anlamadım paylaşayım belki görmek isteyebilirsiniz.

 

 

 

 

 

Alıntı

USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[ACCOUNT_LOGIs] Script Date: 09/26/2018 11:03:50 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ACCOUNT_LOGIs]

@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT

AS
-- # Account Nation Transfers Queue # --
EXEC ACCOUNT_NATION_TRANSFER ''

select @nRet = count(straccountid) from tb_user where straccountid = @AccountID

if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end

--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID

declare @ban int , @ban1 int, @ban2 int
select @nRet = count(straccountid) from currentuser
select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )

if @ban = 255 or @ban1 = 255 or @ban2 = 255
begin
Set @nRet = 2
RETURN
end



DECLARE @Nation tinyint
SET @Nation = 0
-- tid login method by samma 2004.02.24
DECLARE @pwd varchar(13)

SET @pwd = null

SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID
IF @pwd IS null
BEGIN
SET @nRet = 0
RETURN
END

ELSE IF @pwd <> @Password
BEGIN
SET @nRet = 0
RETURN
END
delete from premium_service Where nDays = '0'
SELECT @Nation = bNation FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
BEGIN
SET @nRet = 1
RETURN
END
BEGIN
SET @nRet = @Nation+1
RETURN
END

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

Merhaba,

@ PENTAGRAM 'ın daha önce bu konu hakkında verdiği bilgiye göz attım adımlarını aynı şekilde yapmaya çalıştım fakat sonuca erişemedim. eski konuya buradan erişebilirsiniz.


aşağıda prosedürleri paylaşıyorum bana yardımcı olabilir misiniz? yardımcı olacak arkadaşlar kendimi bu konuda geliştirmeye çalıştığım için prosedürlerde bir hata varsa lütfen açıklamasını yapabilirseniz gerçekten çok faydanız olacaktır. amacım server a login olabilmek değil sorunun nedenini öğrenmek ve sonrasında kendim yapabilmektir. bu alanda sizden alacağım çok destek olacak şimdiden hepinize teşekkür ederim.


''profiler'' den baktım ''ACCOUNT_LOGIN'' prosedürü ile bağlantı sağlanıyor.




ACCOUNT_LOGIs tablosu ne işe yarıyor bilmiyorum ama neden var olduğunu da anlamadım paylaşayım belki görmek isteyebilirsiniz.

 


Ufak bir ayrıntıyı da belirteyim. "İnvalid password" hatasını ilk girişte almıyorum. Yani serveti açtığımda hemen ilk girişini yapıyorum. Daha sonra çıkış yapıp tekrar girmek istedigimde bu hatayı alıyorum. Tb_user tablosuna yeni açtığım of pw kayıtlı da gözüküyor. Neden anlamadım.

 

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

prosedürlerde sıkıntı yok bi yerde yanlış yapıyorsundur

 


ya aslında 2. postumda belirttim. server dosyalarını ilk defa açtığımda giriş yapabiliyorum. daha sonra relog attığımda 'invalid password' hatası alıyorum. açılan ıd pw TB_user 'a kaydoluyor. ama bu problem neyden kaynaklanabilir? onu bulamıyorum. neyde yanlışlık yapmış olabilirim bunu belirtebilirsen kontrol edip denemek isterim.

 

İletiyi paylaş


Link to post
Sitelerde Paylaş
Misafir
Bu konu kapalıdır ama konuya cevap yazmaya yetkiniz var görünüyor.

×
×
  • Yeni Oluştur...