[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.
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:
($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
***** ---------------
***** ---------------
Bunu düzeltmek için Queryden aşadağıdaki kodu uygulayınız
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
Probleminiz çözülecektir...
Kullanılan Tag:19xx oto üyelik Account_Login :
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]
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:
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
***** ---------------
***** ---------------
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
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]