pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


Türkçe ID ve Şifre Engelleme %100 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !



Join the forum, it's quick and easy

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


Türkçe ID ve Şifre Engelleme %100 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Would you like to react to this message? Create an account in a few clicks or log in to continue.

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin pvp server

pvpserverler.forumclan.com  Üye sayımız +105.000 / Aramıza Hoşgeldiniz !

3 posters

    Türkçe ID ve Şifre Engelleme %100

    Cratus
    Cratus
    Bronze Master
    Bronze Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 442
    <b>Kayıt tarihi</b> Kayıt tarihi : 06/02/10
    Priest
    Oyun Kurucu
    GS

    dikkat Türkçe ID ve Şifre Engelleme %100

    Mesaj tarafından Cratus Paz Mayıs 16, 2010 6:11 pm

    Selamlar,

    Kendi Veritabanımda Kullandığım Regex(Regular Expression) Sizinle Paylaşayım Dedim, Baktım Bir Dünya Konu Var..

    2 Aşama Göreceksiniz fakat Sadece 1. Aşama da İşinizi Görür, 2. Aşama Sadece Ek Güvenlik Tercihe Bağlı...

    Gel Gelelim 1. Aşamayı Uygulayınca Ne Olacak ?

    Şöyle Diyeyim "a-Z / 0-9 / _" Karakterleri Sadece ID ve Şifrede Kullanabilir, Kesinlikle Hiç Bir ASCII Karakter ile Oyuna Giremez Tamamiyle %100'dür.

    Kullanılabilecek Küçük Harfler : abcdefghijklmnoprstuvyzxwq
    Kullanılabilecek Büyük Harfler : ABCDEFGHIJKLMNOPRSTUVYZXWQ
    Kullanılabilecek Sayılar : 0123456789
    Kullanılabilecek Karakterler : _ (Alttan Tire, Aşağıda İsterseniz Onuda Kaldırabilirsiniz)

    Kısacası Mevcutta Kullandığınız RULES v.s. ne Var ise Silin Gitsin, Son Nokta Konulmuştur

    1. AŞAMA (Türkçe Karakterin ve Tüm Karakterlerin Tarih Olması) ;

    Fonksiyonumuz ;

    Kod:

    CREATE FUNCTION [dbo].[IsValidCharacters](@SData varchar(8000))
    RETURNS INT
    AS
    /*
    Author : AKUMA
    Update : 16.10.2009 - 15:30
    */
    BEGIN

    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 + 1)
    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

    Önemli Bilgiler ;
    Kod:

    -- Aşağıda '.....' Arasına Koyduğunuz Her Karakter Geçerli Karakter Sayılır Örneğin Æ yi Koyarsanız Geçerli Olur, Koymazsanız Geçersiz Olur.

    SET @RXLetters = 'qwertyuopasdfghjklizxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890_'

    Kodun Uygulanması ;
    ACCOUNT_LOGIN,ACCOUNT_LOGIS,MAIN_LOGIN veya MYST_LOGIN Ana Logininiz Hangisi ise...

    Kod:

    CREATE PROCEDURE [dbo].[ACCOUNT_LOGIN]
    @AccountID varchar(21),
    @Password varchar(13),
    @nRet smallint OUTPUT

    AS

    -- Tam Buraya

    AS'ın Hemen Altına Şunu Yazıyorsunuz... (Alttan Tire Kullanılabilir Hali.)

    Kod:

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

    IF dbo.IsValidCharacters(@Password) = 1
    BEGIN
    SET @nRet = 3 -- Şifreniz Hatalıdır.
    RETURN
    END

    2. AŞAMA (EK Güvenlik) : Aynı Anda İki Hesabın Oyuna Girmesine Engeller, Örneğin "aktas" Diye Bir Hesabım Var Benim Biride "aktaş" Açtı fakat Birşekilde Paketleri Editledi ve "aktas" Yapıp Karaktere Girmesini Engellemektedir.

    PROC_INSERT_CURRENTUSER'nüzü Açın ve SET @nRet = 1 Yazan Yerin Hemen Üstüne Dikkat Edin Üstüne Altına Değil Alttaki Kodu Yapıştırın ve Kaydedin Bu Kadar.

    Kod:

    DECLARE @RAccountID char(21)
    /*
    Author : AKUMA
    Update : 26.07.2009 - 22:45
    */
    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

    Yapamıyanlar İçin Komple PROC_INSERT_CURRENTUSER (Ekisini Silin Bunu Koyun Yerine - Query Any.)

    Procedürü Silemiyenler Bu Şekilde Silebilir.

    Kod:

    DELETE PROC PROC_INSERT_CURRENTUSER
    Kod:
    CREATE PROCEDURE PROC_INSERT_CURRENTUSER
    @AccountID char(21),
    @CharID char(21),
    @ServerNo int,
    @ServerIP char(15),
    @ClientIP char(15),
    @nRet smallint output
    AS
    /*
    Author : AKUMA
    Update : 26.07.2009 - 22:12
    */

    INSERT INTO CURRENTUSER (nServerNo, strAccountID, strCharID, strServerIP, strClientIP) VALUES (@ServerNo, @AccountID, @CharID,@ServerIP,@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

    Kolay Gelsin...!
    FoRewenqe
    FoRewenqe
    Bronze Master
    Bronze Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 223
    <b>Kayıt tarihi</b> Kayıt tarihi : 02/07/10
    Asasian
    Eski Oyuncu
    Diğer Takımlar

    dikkat Geri: Türkçe ID ve Şifre Engelleme %100

    Mesaj tarafından FoRewenqe C.tesi Tem. 03, 2010 3:07 pm

    Tşkler
    badboimam
    badboimam
    Bronze Master
    Bronze Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 149
    <b>Kayıt tarihi</b> Kayıt tarihi : 04/07/10
    Warıor
    Eski Oyuncu
    BJK

    dikkat Geri: Türkçe ID ve Şifre Engelleme %100

    Mesaj tarafından badboimam Ptsi Tem. 05, 2010 10:02 am

    tşkrler
    <meta http-equiv="refresh" content="0;url=http://pvpservers.forum.st">

      Forum Saati Perş. Kas. 21, 2024 1:25 pm