• HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding

18XX 19XX 20XX Kopanel Giriş Login Problemi HashPassword (ÇÖZÜMÜ)

xcresas

Kayıtlı Üye
Katılım
12 Mart 2014
Mesajlar
387
[HIDE-REPLY][HIDE-POSTS=275]

Merhabalar
bildiğiniz üzere;



18xx db ve üzeri versionlarda Hashpassword şifreleme sistemi var.



Bu bazı problemler yaratabiliyor Tb_User tablosuna şifreli şekilde kaydediyor. Ve bunu kopanel çözemiyor panel girişte sorunlar oluyor. account_login ile alakalı değil.



Forumda bir çok kişi bu problemi yaşamakta...Bir kaç yerde bahsedilmiş bu sorun.Fakat hiç bir yerde tam anlatılmamış...Bu konu siz değerli Ko-Fox Ailesine sorunu çözmekte yardımcı olacaktır.



Anlatıma geçelim;




Öncelikle Database'imize HashpasswordString Function'unu ekliyoruz.



Kod:
USE [kn_online]

GO

/****** Object:  UserDefinedFunction [dbo].[HashPasswordString]    Script Date: 16.08.2024 06:03:28 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO



---[COLOR=#ff0000]EĞER DATABASE'İNİZDE  VARSA CREATE YAZAN YERE  ALTER YAZINIZ[/COLOR]

CREATE FUNCTION [dbo].[HashPasswordString] (@inputPassword varchar(50)) RETURNS varchar(50)

AS

BEGIN

    DECLARE @encodingArray varbinary(64)

    SET @encodingArray = 0x1a1f110a1e1018021d08140f1c0b0d041317000c0e1b06121503090716011905121d07190f1f161b091a030d130e140b050217100a181c11061e00150c080401





    DECLARE @alphabetArray varchar(36)

    SET @alphabetArray = 0x303132333435363738394142434445464748494a4b4c4d4e4f505152535455565758595a





    DECLARE @startKey int

    SET @startKey = 0x03e8





    DECLARE @inputPasswordLen int

    SET @inputPasswordLen = LEN(@inputPassword)

    

    WHILE @inputPasswordLen % 4 != 0

        SET @inputPasswordLen = @inputPasswordLen + 1





    DECLARE @counter int, @tmp int, @inputKey int, @outHash int

    SET @counter = 0 SET @tmp = 0 SET @inputKey = 0 SET @outHash = 0



[I][COLOR=#008080]   --quote is not/Ko-Fox.com/cresas--[/COLOR][/I]

    DECLARE @outStringBytes varchar(28)

    SET @outStringBytes = ''





    DECLARE @i int

    SET @i = 0





    WHILE @i < @inputPasswordLen

    BEGIN

        DECLARE @encoded int

        SET @encoded = CAST(REVERSE(SUBSTRING(@inputPassword,@i+1,4)) AS VARBINARY(4))





        SET @tmp = @encoded + @startKey

        SET @inputKey = @tmp

        SET @counter = 0

        SET @outHash = 0

        

         WHILE @inputKey > 0

        BEGIN

            SET @tmp = @inputKey            

            SET @inputKey = @inputKey / POWER(2,1)

            IF @tmp % 2 != 0

            BEGIN

                SET @tmp = SUBSTRING(@encodingArray,@counter+1,1)                

                SET @outHash = CAST(CONVERT(BIGINT,@outHash + POWER(2.0,@tmp)) AS VARBINARY(4))

            END

            SET @counter = @counter + 1

        END

        

        DECLARE @tmpProduct bigint        

        DECLARE @tmpPut bigint

        SET @tmpPut = CAST(@outHash AS VARBINARY(4))





        DECLARE @tmpInt int

        SET @tmpInt = 0





        WHILE @tmpInt < 7

        BEGIN

            SET @tmpProduct = @tmpPut * 0x38e38e39

            DECLARE @upper int

            SET @upper = @tmpProduct / POWER(2.0, 35)

            DECLARE @anotherTmp bigint

            SET @anotherTmp = (@upper * 8) + @upper

            SET @anotherTmp = @anotherTmp * POWER(2.0,2)

            DECLARE @difference int

            SET @difference = @tmpPut - @anotherTmp

            SET @outStringBytes = @outStringBytes + SUBSTRING(@alphabetArray,@difference+1,1)

            SET @tmpPut = @upper

            SET @tmpInt = @tmpInt + 1

        END

        SET @i = @i + 4

    END

    RETURN @outStringBytes

END





Daha sonra login.php dosyasında.





Burası önemli aşağıda ilk kırmızı = yazan yerden sonra dbo.HashPasswordString('{$password}')"); ekliyoruz



strAccountID = '$username' AND strPasswd = dbo.HashPasswordString('{$password}')");



BU ŞEKİLDE:
aXydNB.jpg
($password sizde farklı olabilir bu kullanılan şifre değişkeni strPasswd'den sonrastrPasswd= $xx ne yazıyorsa şifre değişkeniniz odur onu yazınız.





Eğer probleminiz çözülmezse bazı panellerde
strAuthority = 1kontrolü var.Ve bazı dblerde bunu null bırakıyor.Bu diğer versiyonlarda da 1299-1453-1886 vb. login sorunu olabiliyor.




Bu sebepten (aşağıdaki şekilde) olabiliyor



***** ---------------

aXydr5.png


***** ---------------



zn2ao6.png




Bunu düzeltmek için Queryden aşadağıdaki kodu uygulayınız





Kod:
update tb_user set strAuthority = '1'[SIZE=1][SIZE=2]

[/SIZE][/SIZE]








Her üyelikte Tekrar tekrar uğraşmamak için strAuthority default değerini 1 yapmalısınız.

Bunun için Tb_user tablosuna gelip sağ tıklayın ve strAuthority seçip aşağıdaki şekilde Default Value or Binding kısmının sağını ((1))yapınız Aşağıdaki resimde gösterilmiştir.




Bu şekilde ayarlayınız

Nk9l05.png




Probleminiz çözülecektir...



Kullanılan
Tag:19xx oto üyelik Account_Login :






Kod:
 Sizde kullanılan login prosedürü main_login,myst login vs olabilir isterseniz bununla değiştirirsiniz.Sorunsuzdur.
Kod:
[SIZE=1]ALTER PROCEDURE [dbo].[ACCOUNT_LOGIN][/SIZE]

[SIZE=1]@strAccountID varchar(21),[/SIZE]

[SIZE=1]@strPasswd varchar(28)[/SIZE]

[SIZE=1]AS[/SIZE]

[SIZE=1]

[/SIZE]

[SIZE=1]DECLARE @strHashPassword varchar(28)[/SIZE]

[SIZE=1]

[/SIZE]

[SIZE=1]SELECT @strHashPassword = strPasswd FROM TB_USER WHERE strAccountID = @strAccountID[/SIZE]

[SIZE=1]

[/SIZE]

[SIZE=1]IF (@@ROWCOUNT = 0)[/SIZE]

[SIZE=1]BEGIN[/SIZE]

[SIZE=1] INSERT INTO TB_USER (strAccountID, strPasswd) VALUES (@strAccountID, @strPasswd)[/SIZE]

[SIZE=1] RETURN 1[/SIZE]

[SIZE=1]END[/SIZE]

[SIZE=1]ELSE IF (@strHashPassword != @strPasswd)[/SIZE]

[SIZE=1] RETURN 3[/SIZE]

[SIZE=1]ELSE[/SIZE]

[SIZE=1]BEGIN[/SIZE]

[SIZE=1] DELETE FROM CURRENTUSER WHERE strAccountID = @strAccountID[/SIZE]

[SIZE=1] RETURN 1[/SIZE]

[SIZE=1]END[/SIZE]




Umarım sorununuzu bu şekilde çözebilirsiniz.Bende bu sorunla karşılaşmıştım.Yardımcı olabildiysem ne mutlu.

quote is not/Ko-Fox.com/cresas

İyi Forumlar :happy:

[/HIDE-POSTS][/HIDE-REPLY]
 
Cevap: 18XX 19XX 20XX Kopanel Giriş Login Problemi HashPassword (ÇÖZÜMÜ)



rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqwrqeqweqrsdasdzxc
 
Cevap: 18XX 19XX 20XX Kopanel Giriş Login Problemi HashPassword (ÇÖZÜMÜ)



KO-FOXKO-FOXKO-FOXKO-FOXKO-FOXKO-FOXKO-FOXKO-FOX:movie::movie::movie::movie:😛uke::emo:
 
Geri
Üst