So da ich gerade dabei bin die Vietnam DB von Twilight zu entbuggen
habe ich eine kleine Frage wie ich master.dbo.xp.crypt aus der Prozedur usp.dbo.creatnewaccount bekomme damit man Accounts machen kann ohne Xp Crypt. Hier mal die Account DBF
Alles anzeigen
habe ich eine kleine Frage wie ich master.dbo.xp.crypt aus der Prozedur usp.dbo.creatnewaccount bekomme damit man Accounts machen kann ohne Xp Crypt. Hier mal die Account DBF
Quellcode
- USE [ACCOUNT_DBF]
- GO
- /****** Object: User [ongate] Script Date: 10/28/2009 17:14:27 ******/
- CREATE USER [ongate] FOR LOGIN [ongate] WITH DEFAULT_SCHEMA=[dbo]
- GO
- /****** Object: User [billing] Script Date: 10/28/2009 17:14:27 ******/
- CREATE USER [billing] FOR LOGIN [billing] WITH DEFAULT_SCHEMA=[dbo]
- GO
- /****** Object: User [account] Script Date: 10/28/2009 17:14:27 ******/
- CREATE USER [account] FOR LOGIN [account] WITH DEFAULT_SCHEMA=[dbo]
- GO
- /****** Object: User [acc_on9@te] Script Date: 10/28/2009 17:14:27 ******/
- CREATE USER [acc_on9@te] FOR LOGIN [acc_on9@te] WITH DEFAULT_SCHEMA=[acc_on9@te]
- GO
- /****** Object: Schema [acc_on9@te] Script Date: 10/28/2009 17:14:28 ******/
- CREATE SCHEMA [acc_on9@te] AUTHORIZATION [account]
- GO
- /****** Object: Table [dbo].[CashHistory] Script Date: 10/28/2009 17:14:39 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[CashHistory](
- [account] [varchar](32) NULL,
- [beforeCash] [int] NULL,
- [afterCash] [int] NULL,
- [regdate] [datetime] NULL
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- /****** Object: Table [dbo].[ACCOUNT_TBL] Script Date: 10/28/2009 17:14:40 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[ACCOUNT_TBL](
- [account] [varchar](32) NOT NULL,
- [password] [char](32) NOT NULL,
- [isuse] [char](1) NULL,
- [member] [char](1) NULL,
- [id_no1] [char](6) NULL,
- [id_no2] [char](255) NULL,
- [realname] [char](1) NULL,
- [reload] [char](1) NULL,
- [cash] [int] NULL
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- CREATE UNIQUE CLUSTERED INDEX [ACCOUNT_ID1] ON [dbo].[ACCOUNT_TBL]
- (
- [account] DESC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- GO
- EXEC sys.sp_addextendedproperty @name=N'123', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ACCOUNT_TBL', @level2type=N'COLUMN',@level2name=N'account'
- GO
- EXEC sys.sp_addextendedproperty @name=N'123', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ACCOUNT_TBL', @level2type=N'COLUMN',@level2name=N'password'
- GO
- /****** Object: Table [dbo].[ACCOUNT_TBL_DETAIL] Script Date: 10/28/2009 17:14:40 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[ACCOUNT_TBL_DETAIL](
- [account] [varchar](32) NOT NULL,
- [gamecode] [char](4) NOT NULL,
- [tester] [char](1) NOT NULL,
- [m_chLoginAuthority] [char](1) NULL,
- [regdate] [datetime] NOT NULL,
- [BlockTime] [char](8) NULL,
- [EndTime] [char](8) NULL,
- [WebTime] [char](8) NULL,
- [isuse] [char](1) NULL,
- [secession] [datetime] NULL,
- [email] [varchar](100) NOT NULL
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- CREATE UNIQUE CLUSTERED INDEX [ACCOUNT_TBL_DETAIL_ID1] ON [dbo].[ACCOUNT_TBL_DETAIL]
- (
- [account] DESC,
- [gamecode] DESC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- GO
- /****** Object: Table [dbo].[PCZone] Script Date: 10/28/2009 17:14:40 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[PCZone](
- [PCZoneID] [int] IDENTITY(1,1) NOT NULL,
- [PCZoneName] [varchar](100) NOT NULL,
- [Address] [varchar](100) NOT NULL,
- [Phone] [varchar](100) NOT NULL,
- [CPU] [varchar](100) NOT NULL,
- [VGA] [varchar](100) NOT NULL,
- [RAM] [varchar](100) NOT NULL,
- [Monitor] [varchar](100) NOT NULL,
- [Comment] [varchar](1000) NOT NULL,
- [Grade] [tinyint] NOT NULL,
- [Account] [varchar](32) NOT NULL,
- [RegDate] [datetime] NOT NULL,
- CONSTRAINT [PK_iCafeInfo_1] PRIMARY KEY CLUSTERED
- (
- [PCZoneID] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- /****** Object: Table [dbo].[mydata] Script Date: 10/28/2009 17:14:40 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[mydata](
- [line] [varchar](8000) NULL
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- /****** Object: StoredProcedure [dbo].[usp_MessengerList] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE proc [dbo].[usp_MessengerList]
- @serverindex char(2),
- @m_szName varchar(32)
- as
- set nocount on
- declare @q1 nvarchar(4000)
- declare @m_idPlayer char(7)
- set @q1 = '
- select @m_idPlayer = m_idPlayer from CHR' + @serverindex + '.CHARACTER_' + @serverindex + '_DBF.dbo.CHARACTER_TBL where m_szName = ''' + @m_szName + ''''
- exec sp_executesql @q1, N'@m_idPlayer char(7) output', @m_idPlayer output
- set @q1 = '
- select c.m_szName, m_idPlayer
- from CHR' + @serverindex + '.CHARACTER_' + @serverindex + '_DBF.dbo.tblMessenger as m
- inner join CHR' + @serverindex + '.CHARACTER_' + @serverindex + '_DBF.dbo.CHARACTER_TBL as c on m.idFriend = c.m_idPlayer
- where m.idPlayer = ''' + @m_idPlayer + ''' and isblock = ''F'' and chUse = ''T'' order by m.idFriend'
- exec sp_executesql @q1
- GO
- /****** Object: Table [dbo].[AccountPlay] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[AccountPlay](
- [Account] [varchar](32) NOT NULL,
- [PlayDate] [int] NOT NULL,
- [PlayTime] [int] NOT NULL,
- CONSTRAINT [PK_AccountPlay] PRIMARY KEY CLUSTERED
- (
- [Account] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- /****** Object: Table [dbo].[PCZoneIP] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_PADDING ON
- GO
- CREATE TABLE [dbo].[PCZoneIP](
- [IPID] [int] IDENTITY(1,1) NOT NULL,
- [PCZoneID] [int] NOT NULL,
- [IPFrom1] [tinyint] NOT NULL,
- [IPFrom2] [tinyint] NOT NULL,
- [IPFrom3] [tinyint] NOT NULL,
- [IPFrom4] [tinyint] NOT NULL,
- [IPTo4] [tinyint] NOT NULL,
- [IsUse] [tinyint] NOT NULL,
- [RegDate] [datetime] NOT NULL,
- [OperID] [varchar](32) NULL,
- [OperDate] [datetime] NULL,
- CONSTRAINT [PK_iCafeIP_1] PRIMARY KEY CLUSTERED
- (
- [IPID] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- SET ANSI_PADDING OFF
- GO
- /****** Object: StoredProcedure [dbo].[usp_UpdateCashInfo] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- create proc [dbo].[usp_UpdateCashInfo]
- @account varchar(32),
- @cash int
- as
- set nocount on
- set xact_abort on
- if exists (select * from ACCOUNT_TBL where account = @account)
- begin
- begin tran
- insert into CashHistory (account, beforeCash, afterCash)
- select @account, cash, @cash from ACCOUNT_TBL where account = @account
- update ACCOUNT_TBL
- set cash = @cash
- where account = @account
- if @@error <> 0
- begin
- rollback tran
- select -1
- end
- else
- begin
- commit tran
- select 1
- end
- end
- else
- begin
- select 0
- end
- GO
- /****** Object: StoredProcedure [dbo].[ACCOUNT_STR] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROC [dbo].[ACCOUNT_STR]
- @iaccount VARCHAR(32),
- @ipassword VARCHAR(16)
- /***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ACCOUNT_STR 스토어드
- 작성자 : 최석준
- 작성일 : 2004.01.18
- ex) ACCOUNT_STR 'beat','1234'
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************/
- AS
- set nocount on
- IF EXISTS(SELECT a.account FROM ACCOUNT_TBL a,ACCOUNT_TBL_DETAIL b
- WHERE a.account = b.account AND a.account = @iaccount AND gamecode = 'A000')
- BEGIN
- IF EXISTS(SELECT account FROM ACCOUNT_TBL
- WHERE account = @iaccount AND password = @ipassword )
- -- BEGIN
- --
- -- DECLARE @birthyear CHAR(4),@currdate CHAR(8)
- -- SELECT @birthyear = CASE WHEN SUBSTRING(id_no2,1,1) IN ('9','0') THEN '18' + SUBSTRING(id_no1,1,2)
- -- WHEN SUBSTRING(id_no2,1,1) IN ('1','2') THEN '19' + SUBSTRING(id_no1,1,2)
- -- WHEN SUBSTRING(id_no2,1,1) IN ('3','4') THEN '20' + SUBSTRING(id_no1,1,2)
- -- WHEN SUBSTRING(id_no2,1,1) IN ('5','6') THEN '21' + SUBSTRING(id_no1,1,2)
- -- WHEN SUBSTRING(id_no2,1,1) IN ('7','8') THEN '22' + SUBSTRING(id_no1,1,2)
- -- END
- -- FROM ACCOUNT_TBL
- -- WHERE account = @iaccount
- --
- -- SELECT @currdate = CONVERT(CHAR(8),GETDATE(),112)
- --
- -- SELECT fError = CASE WHEN a.id_no1 = 'a00000'
- -- THEN '0'
- -- WHEN b.BlockTime >= @currdate AND b.EndTime < @currdate
- -- THEN '3'
- -- WHEN a.realname = 'F'
- -- THEN '4'
- -- WHEN @birthyear > DATEADD(Year,-13,@currdate)
- -- THEN '5'
- -- WHEN @birthyear >= DATEADD(Year,-11,@currdate) AND b.tester = '0'
- -- THEN '6'
- -- ELSE '0' END,
- --
- -- fText = CASE WHEN a.id_no1 = 'a00000'
- -- THEN '사원 및 기자'
- -- WHEN b.BlockTime >= @currdate AND b.EndTime < @currdate
- -- THEN '계정블럭이거나 유료화 초과'
- -- WHEN a.realname = 'F'
- -- THEN '실명처리가 안된것'
- -- WHEN @birthyear > DATEADD(Year,-13,@currdate)
- -- THEN '프리프는 12세 이상 이용가 이므로 게임접속을 할수 없습니다.'
- -- WHEN @birthyear >= DATEADD(Year,-11,@currdate) AND b.tester = '0'
- -- THEN '14세 미만 가입자 분들은 부모님 동의서를 보내주셔야 게임 접속이 가능합니다'
- -- ELSE '정상사용자 14세 이상' END
- -- FROM ACCOUNT_TBL a, ACCOUNT_TBL_DETAIL b
- -- WHERE a.account = b.account AND b.account = @iaccount AND a.[password] = @ipassword
- -- END
- BEGIN
- SELECT fError = '0', fText = 'OK'
- END
- ELSE
- BEGIN
- SELECT fError = '1', fText = 'Wrong Password !!'
- END
- END
- ELSE
- BEGIN
- SELECT fError = '2', fText = 'Account Not Exists !!'
- END
- RETURN
- -- 계정 검사 Rule
- -- 1. (fError=2 리턴) 계정있는지 확인. 계정확인시 "gamecode = A000" 만 프리프 회원.
- -- 2. (fError=1 리턴) 암호확인.
- -- 3. (fError=0 리턴) 사원 및 기자 확인( id_no1가 a0000 )으로 확인.계정.암호만 확인
- -- 4. (fError=3 리턴) 블럭타임과, 과금타임 확인.
- -- 5. (fError=4 리턴) 실명확인.
- -- 6. (fError=5 리턴) 12세 이상인지 확인. 이하이면 "프리프는 12세 이상 이용가 이므로 ]
- -- 게임접속을 할수 없습니다." 라고 알림.
- -- 7. (fError=6 리턴) 부모동의서가 없는 애덜 확인 tester = 0 이면 "14세 미만 가입자 분들은
- -- 부모등의서를 보내주셔야 게임 접속이 가능합니다"라고 알림.
- -- 8. (fError=0 리턴) 위의 예말고는 정상 사용자로 인정.
- set nocount off
- GO
- /****** Object: StoredProcedure [dbo].[usp_CreateNewAccount] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE proc [dbo].[usp_CreateNewAccount]
- @account varchar(32),
- @pw varchar(32),
- @cash int = 0,
- @email varchar(100) = ''
- as
- set nocount on
- set xact_abort on
- if not exists (select * from ACCOUNT_TBL where account = @account)
- begin
- declare @hash char(32), @tpw varchar(40)
- set @tpw = 'dlrjsdn' + @pw
- exec master.dbo.xp_crypt @tpw, @hash output
- begin tran
- INSERT ACCOUNT_TBL(account,password,isuse,member,id_no1,id_no2,realname, cash)
- VALUES(@account, lower(@hash), 'T', 'A', '', '', '', @cash)
- INSERT ACCOUNT_TBL_DETAIL(account,gamecode,tester,m_chLoginAuthority,regdate,BlockTime,EndTime,WebTime,isuse,secession, email)
- VALUES(@account,'A000','2','F',GETDATE(),CONVERT(CHAR(8),GETDATE()-1,112),CONVERT(CHAR(8),DATEADD(year,10,GETDATE()),112),CONVERT(CHAR(8),GETDATE()-1,112),'T',NULL, @email)
- insert AccountPlay (Account, PlayDate)
- select @account, convert(int, convert(char(8), getdate(), 112))
- if @@error <> 0
- begin
- rollback tran
- select -1
- end
- else
- begin
- commit tran
- select 1
- end
- end
- else
- begin
- select 0
- end
- GO
- /****** Object: StoredProcedure [dbo].[sp_UpdateAccountPassword] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROCEDURE [dbo].[sp_UpdateAccountPassword]
- @account varchar(32),
- @password varchar(32)
- AS
- SET NOCOUNT ON
- Update ACCOUNT_TBL SET Password = @password Where Account=@account
- GO
- /****** Object: StoredProcedure [dbo].[usp_ChangePW] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE proc [dbo].[usp_ChangePW]
- @account varchar(32),
- @pw varchar(32)
- as
- set nocount on
- set xact_abort on
- if exists (select * from ACCOUNT_TBL where account = @account)
- begin
- declare @hash char(32), @tpw varchar(40)
- set @tpw = 'tpgk' + @pw
- exec master.dbo.xp_crypt @tpw, @hash output
- begin tran
- update ACCOUNT_TBL
- set [password] = lower(@hash)
- where account = @account
- if @@error <> 0
- begin
- rollback tran
- select -1
- end
- else
- begin
- commit tran
- select 1
- end
- end
- else
- begin
- select 0
- end
- GO
- /****** Object: StoredProcedure [dbo].[LOGIN_RELOAD_STR] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROC [dbo].[LOGIN_RELOAD_STR]
- /**********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- LOGIN_RELOAD_STR 스토어드
- 작성자 : 최석준
- 작성일 : 2005.01.24
- ex) LOGIN_RELOAD_STR
- **********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************/
- AS
- set nocount on
- SELECT account FROM ACCOUNT_TBL WHERE reload='T'
- set nocount off
- RETURN
- GO
- /****** Object: StoredProcedure [dbo].[CREATE_ACCOUNT_STR] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROC [dbo].[CREATE_ACCOUNT_STR]
- @iGu CHAR(1) = 'A',
- @k INT = 100
- AS
- DECLARE @i INT,@j INT,@oSeq CHAR(6)
- IF @iGu = 'A'
- BEGIN
- SET @j = 1
- SELECT @i = ISNULL(CONVERT(INT,(MAX(account))),0) + 1 FROM ACCOUNT_TBL
- SELECT CONVERT(INT,(MAX(account))) + @k FROM ACCOUNT_TBL
- WHILE @j < @k + 1
- BEGIN
- SET @oSeq = RIGHT('000000' + CONVERT(VARCHAR(6),@i),6)
- INSERT ACCOUNT_TBL
- (account,password,isuse,member,id_no1,id_no2,realname)
- VALUES
- (@oSeq,@oSeq,'T','A','','','')
- INSERT ACCOUNT_TBL_DETAIL
- (account,gamecode,tester,m_chLoginAuthority,regdate,BlockTime,EndTime,WebTime,isuse,secession)
- VALUES
- (@oSeq,'A000','2','F',GETDATE(),CONVERT(CHAR(8),GETDATE()-1,112),CONVERT(CHAR(8),DATEADD(year,6,GETDATE()),112),CONVERT(CHAR(8),GETDATE()-1,112),'T',NULL)
- SET @i = @i + 1
- SET @j = @j + 1
- IF (@j % 100 = 0)
- PRINT @oSeq
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[usp_og_ChangePassWord] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE proc [dbo].[usp_og_ChangePassWord]
- @account varchar(32),
- @password varchar(32)
- as
- set nocount on
- set xact_abort on
- if exists (select * from ACCOUNT_TBL where account = @account)
- begin
- begin tran
- Update ACCOUNT_TBL SET Password = @password Where account=@account
- if @@error <> 0
- begin
- rollback tran
- select -1
- end
- else
- begin
- commit tran
- select 1
- end
- end
- else
- begin
- select 0
- end
- GO
- /****** Object: StoredProcedure [dbo].[LOGINJOIN_STR] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROC [dbo].[LOGINJOIN_STR]
- @iGu CHAR(2) = 'A1',
- @iaccount VARCHAR(32)
- /***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- LOGINJOIN_STR 스토어드
- 작성자 : 송현석
- 작성일 : 2004.01.30
- 수정일 :
- ex) LOGINONOFF_STR 'A1','1234'
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************/
- AS
- set nocount on
- IF @iGu = 'A1' -- ON
- BEGIN
- UPDATE ACCOUNT_TBL_DETAIL
- SET isuse = 'J'
- WHERE account = @iaccount
- RETURN
- END
- ELSE
- IF @iGu = 'A2' -- OFF
- BEGIN
- UPDATE ACCOUNT_TBL_DETAIL
- SET isuse = 'O'
- WHERE account = @iaccount
- RETURN
- END
- ELSE
- IF @iGu = 'A3' -- ALL OFF
- BEGIN
- UPDATE ACCOUNT_TBL_DETAIL
- SET isuse = 'O'
- RETURN
- END
- set nocount off
- GO
- /****** Object: StoredProcedure [dbo].[usp_ChangeEmail] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE proc [dbo].[usp_ChangeEmail]
- @account varchar(32),
- @email varchar(100)
- as
- set nocount on
- set xact_abort on
- if exists (select * from ACCOUNT_TBL_DETAIL where account = @account)
- begin
- begin tran
- update ACCOUNT_TBL_DETAIL
- set email = @email
- where account = @account
- if @@error <> 0
- begin
- rollback tran
- select -1
- end
- else
- begin
- commit tran
- select 1
- end
- end
- else
- begin
- select 0
- end
- GO
- /****** Object: StoredProcedure [dbo].[USP_PCZoneIP_Check] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- declare @o_Grade tinyint
- exec dbo.USP_PCZoneIP_Check '218.38.238.131', @o_Grade output
- select @o_Grade
- exec LOGIN_STR 'chipi', '85158c7b8a7f3113b0f32b70ed936b2c', '127.0.0.0'
- */
- create proc [dbo].[USP_PCZoneIP_Check]
- @i_IPAddress varchar(15)
- , @o_Grade tinyint output
- as
- set nocount on
- set transaction isolation level read uncommitted
- declare @i_IP1 tinyint
- declare @i_IP2 tinyint
- declare @i_IP3 tinyint
- declare @i_IP4 tinyint
- declare @index int
- --@i_IP1
- set @index = charindex('.', @i_IPAddress)
- set @i_IP1 = left(@i_IPAddress, @index-1)
- set @i_IPAddress = right(@i_IPAddress, len(@i_IPAddress)-@index)
- --@i_IP2
- set @index = charindex('.', @i_IPAddress)
- set @i_IP2 = left(@i_IPAddress, @index-1)
- set @i_IPAddress = right(@i_IPAddress, len(@i_IPAddress)-@index)
- --@i_IP3, @i_IP4
- set @index = charindex('.', @i_IPAddress)
- set @i_IP3 = left(@i_IPAddress, @index-1)
- set @i_IP4 = right(@i_IPAddress, len(@i_IPAddress)-@index)
- --PCZoneIP_Check
- select @o_Grade = b.Grade
- from PCZoneIP a
- inner join PCZone b
- on a.PCZoneID = b.PCZoneID
- where IsUse in (1, 9)
- and IPFrom1 = @i_IP1
- and IPFrom2 = @i_IP2
- and IPFrom3 = @i_IP3
- and IPFrom4 <= @i_IP4 and IPTo4 >= @i_IP4
- select @o_Grade = isnull(@o_Grade, 0)
- GO
- /****** Object: StoredProcedure [dbo].[LOGIN_STR] Script Date: 10/28/2009 17:27:48 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROC [dbo].[LOGIN_STR]
- @iaccount VARCHAR(32),
- @ipassword char(32)
- -- Ver. 14 PCZoneIP
- ,@i_IPAddress varchar(15) = '0.0.0.0'
- /***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ACCOUNT_STR 스토어드
- 작성자 : 최석준
- 작성일 : 2004.01.18
- ex) ACCOUNT_STR 'beat','1234'
- SELECT * FROM ACCOUNT_TBL_DETAIL WHERE account='aeonsoft'
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************
- ***********************************************************************************/
- AS
- set nocount on
- -- Ver 14. PCZoneIP_Check
- declare @o_Grade tinyint
- exec dbo.USP_PCZoneIP_Check @i_IPAddress, @o_Grade output
- IF EXISTS(SELECT a.account FROM ACCOUNT_TBL a,ACCOUNT_TBL_DETAIL b
- WHERE a.account = b.account AND a.account = @iaccount ) -- AND gamecode = 'A000')
- BEGIN
- DECLARE @curDate char(8)
- IF EXISTS(SELECT account FROM ACCOUNT_TBL
- WHERE account = @iaccount AND password = @ipassword) BEGIN
- SELECT @curDate=CONVERT(CHAR(8), getdate(), 112)
- SELECT fError=CASE
- -- WHEN session<>@isession OR sessionExpireDt<getdate() THEN '91'
- WHEN BlockTime>=@curDate THEN '9'
- ELSE '0' END,
- fText= CASE
- -- WHEN session<>@isession OR sessionExpireDt<getdate() THEN 'Session Expired'
- WHEN BlockTime>=@curDate THEN 'Block' ELSE 'OK' END,
- fCheck=tester,
- f18='1'
- -- Ver14. PCZoneIP
- ,fPCZone = @o_Grade
- FROM ACCOUNT_TBL a INNER JOIN ACCOUNT_TBL_DETAIL b ON (a.account=b.account)
- WHERE a.account=@iaccount
- END
- ELSE BEGIN
- SELECT fError = '1', fText = 'Wrong Password !!',fCheck ='',f18='1', fPCZone = '0' -- PCZoneIP (, fPCZone = '0' 추가)
- END
- END
- ELSE BEGIN
- SELECT fError = '2', fText = 'Account Not Exists !!',fCheck ='',f18='1', fPCZone = '0' -- PCZoneIP (, fPCZone = '0' 추가)
- END
- RETURN
- -- 계정 검사 Rule
- -- 1. (fError=2 리턴) 계정있는지 확인. 계정확인시 "gamecode = A000" 만 프리프 회원.
- -- 2. (fError=1 리턴) 암호확인.
- -- 3. (fError=0 리턴) 사원 및 기자 확인( id_no1가 a0000 )으로 확인.계정.암호만 확인
- -- 4. (fError=3 리턴) 블럭타임과, 과금타임 확인.
- -- 5. (fError=4 리턴) 실명확인.
- -- 6. (fError=5 리턴) 12세 이상인지 확인. 이하이면 "프리프는 12세 이상 이용가 이므로 ]
- -- 게임접속을 할수 없습니다." 라고 알림.
- -- 7. (fError=6 리턴) 부모동의서가 없는 애덜 확인 tester = 0 이면 "14세 미만 가입자 분들은
- -- 부모등의서를 보내주셔야 게임 접속이 가능합니다"라고 알림.
- -- 8. (fError=0 리턴) 위의 예말고는 정상 사용자로 인정.
- set nocount off
- GO
- /****** Object: Default [DF_CashHistory_regdate] Script Date: 10/28/2009 17:14:39 ******/
- ALTER TABLE [dbo].[CashHistory] ADD CONSTRAINT [DF_CashHistory_regdate] DEFAULT (getdate()) FOR [regdate]
- GO
- /****** Object: Default [DF_ACCOUNT_TBL_cash] Script Date: 10/28/2009 17:14:40 ******/
- ALTER TABLE [dbo].[ACCOUNT_TBL] ADD CONSTRAINT [DF_ACCOUNT_TBL_cash] DEFAULT ((0)) FOR [cash]
- GO
- /****** Object: Default [DF_ACCOUNT_DETAIL_email] Script Date: 10/28/2009 17:14:40 ******/
- ALTER TABLE [dbo].[ACCOUNT_TBL_DETAIL] ADD CONSTRAINT [DF_ACCOUNT_DETAIL_email] DEFAULT ('') FOR [email]
- GO
- /****** Object: Default [DF_PCZone_Grade] Script Date: 10/28/2009 17:14:40 ******/
- ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_Grade] DEFAULT ((1)) FOR [Grade]
- GO
- /****** Object: Default [DF_PCZone_Account] Script Date: 10/28/2009 17:14:40 ******/
- ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_Account] DEFAULT ('') FOR [Account]
- GO
- /****** Object: Default [DF_PCZone_RegDate] Script Date: 10/28/2009 17:14:40 ******/
- ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_RegDate] DEFAULT (getdate()) FOR [RegDate]
- GO
- /****** Object: Default [DF_AccountPlay_Account] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[AccountPlay] ADD CONSTRAINT [DF_AccountPlay_Account] DEFAULT ('') FOR [Account]
- GO
- /****** Object: Default [DF_AccountPlay_PlayDate] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[AccountPlay] ADD CONSTRAINT [DF_AccountPlay_PlayDate] DEFAULT ('') FOR [PlayDate]
- GO
- /****** Object: Default [DF_AccountPlay_PlayTime] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[AccountPlay] ADD CONSTRAINT [DF_AccountPlay_PlayTime] DEFAULT ((0)) FOR [PlayTime]
- GO
- /****** Object: Default [DF_PCZoneIP_IsUse] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[PCZoneIP] ADD CONSTRAINT [DF_PCZoneIP_IsUse] DEFAULT ((0)) FOR [IsUse]
- GO
- /****** Object: Default [DF_PCZoneIP_RegDate] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[PCZoneIP] ADD CONSTRAINT [DF_PCZoneIP_RegDate] DEFAULT (getdate()) FOR [RegDate]
- GO
- /****** Object: ForeignKey [FK_iCafeIP_iCafeInfo1] Script Date: 10/28/2009 17:27:48 ******/
- ALTER TABLE [dbo].[PCZoneIP] WITH CHECK ADD CONSTRAINT [FK_iCafeIP_iCafeInfo1] FOREIGN KEY([PCZoneID])
- REFERENCES [dbo].[PCZone] ([PCZoneID])
- GO
- ALTER TABLE [dbo].[PCZoneIP] CHECK CONSTRAINT [FK_iCafeIP_iCafeInfo1]
- GO