SOACS_LOGIN VEYA LOGIN PROSEDURUNE AS YAZISINDAN SONRA BU KODU UYGULAYIN :
CREATE_NEW_CHAR PROSEDURUNE AS YAZISINDAN SONRA BU KODU UYGULAYIN :
YUKARIDAKİ İŞLEMLERDEN ÖNCE SQL SERVER GIRIP KN_ONLINE VERITABANI DOSYASINA BU KODU :
Kod:
-- ZirveSunucum || Türkçe Karakter ID kabul etme.
-- ZirveSunucum Information - Only English Character Start
IF dbo.IsValidCharacters(@AccountID) = 1
BEGIN
SET @nRet = 11 -- Please do not use s-g-c-i letters in your Account ID.
RETURN
END
IF dbo.IsValidCharacters(@Password) = 1
BEGIN
SET @nRet = 11 -- Please do not use s-g-c-i letters in your Account ID.
RETURN
END
-- ZirveSunucum Information - Only English Character End
CREATE_NEW_CHAR PROSEDURUNE AS YAZISINDAN SONRA BU KODU UYGULAYIN :
Kod:
-- ZirveSunucum Information - Only English Character
IF dbo.IsValidCharacters(@AccountID) = 1 or dbo.IsValidCharacters(@CharID) = 1
BEGIN
SET @nRet = 4 -- Please do not use s-g-c-i letters in your Account ID.
RETURN
END
-- ZirveSunucum Information - Only English Character End
YUKARIDAKİ İŞLEMLERDEN ÖNCE SQL SERVER GIRIP KN_ONLINE VERITABANI DOSYASINA BU KODU :
Kod:
-- ZirveSunucum Information | Security Insert
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PROC_INSERT_CURRENTUSER]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[PROC_INSERT_CURRENTUSER]
GO
CREATE PROCEDURE [dbo].[PROC_INSERT_CURRENTUSER]
@AccountID varchar(50),
@CharID varchar(50),
@ServerNo int,
@ServerIP varchar(50),
@ClientIP varchar(50),
@nret smallint output
AS
BEGIN
INSERT INTO CURRENTUSER (nServerNo, strServerIP, strAccountID, strCharID, strClientIP ) Values (@ServerNo, @ServerIP, @AccountID, @CharID, @ClientIP )
DECLARE @RAccountID char(21)
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID2 = @CharID and strCharID2 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID3 = @CharID and strCharID3 IS NOT NULL
IF @RAccountID IS NULL
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID = ''
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID <> @AccountID
BEGIN
SET @nRet = 0
RETURN
END
ELSE
BEGIN
SET @nRet = 1
RETURN
END
RETURN
END
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[IsValidCharacters]') AND type IN ( N'FN', N'IF', N'TF', N'FS', N'FT' ))
DROP FUNCTION [dbo].[IsValidCharacters]
GO
CREATE FUNCTION [dbo].[IsValidCharacters](@SData varchar(8000))
RETURNS INT
AS
BEGIN
/*
Author : AKUMA
Edit : ZirveSunucum Information
*/
DECLARE @SDataLen int
DECLARE @Loop int
DECLARE @Letter varchar(1)
DECLARE @RXLetters varchar(8000)
DECLARE @Match tinyint
SET @RXLetters = 'qwertyuopasdfghjklizxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890_'
SET @SDataLen = LEN(@SData)
SET @Loop = 1
SET @Match = 0
WHILE @Loop <= (@SDataLen)
BEGIN
SET @Letter = RTRIM(LTRIM(SUBSTRING(@SData,@Loop,1)))
IF CHARINDEX(@Letter,@RXLetters) = 0
BEGIN
SET @Match = 1
BREAK
END
SET @Loop = @Loop + 1
END
RETURN @Match
END
GO