Python İle "Key" Sistemi

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
ölmedim geri döndüm kaldığımız yerden devam
Süper Üye
Katılım
6 Eki 2019
Mesajlar
744
Çözümler
19
Tepki puanı
155
Ödüller
6
Sosyal
6 HİZMET YILI
Öncelikle sqlite3 modülünü kullanarak bir veritabanı bağlantısı oluşturmanız gerekiyor. Bu kodu aşağıdaki gibi başlatabilirsiniz:
Python:
import sqlite3

conn = sqlite3.connect('database.db')
c = conn.cursor()

c.execute('''CREATE TABLE keys (
                key VARCHAR(50) PRIMARY KEY
            )''')

c.execute("INSERT INTO keys (key) VALUES ('123456')")
conn.commit()

conn.close()
Python:
import mysql.connector

db = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database"
)

cursor = db.cursor()

cursor.execute('''CREATE TABLE keys (
key VARCHAR(50) PRIMARY KEY
)''')

cursor.execute("INSERT INTO keys (key) VALUES ('123456')")
db.commit()

db.close()
Bu kod, keys adında bir veritabanı tablosu oluşturur ve 123456 anahtarını bu tabloya ekler. Daha sonra, conn.close() komutuyla veritabanı bağlantısını kapatır.



Anahtarların doğruluğunu kontrol etmek için, check_key() adlı bir fonksiyon oluşturabilirsiniz. Bu fonksiyon, anahtarın veritabanında var olup olmadığını kontrol eder ve eğer varsa anahtarı siler. Fonksiyonu aşağıdaki gibi tanımlayabilirsiniz:
Python:
def check_key(key):
    conn = sqlite3.connect('database.db')
    c = conn.cursor()

    c.execute("SELECT COUNT(*) FROM keys WHERE key = ?", (key,))
    count = c.fetchone()[0]

    if count == 1:
        c.execute("DELETE FROM keys WHERE key = ?", (key,))
        conn.commit()
        return True
    else:
        return False
Python:
def check_key(key):
db = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database"
)

scss

cursor = db.cursor()

cursor.execute("SELECT COUNT(*) FROM keys WHERE key = %s", (key,))
count = cursor.fetchone()[0]

if count == 1:
    cursor.execute("DELETE FROM keys WHERE key = %s", (key,))
    db.commit()
    return True
else:
    return False
Bu fonksiyon, keys tablosunda key sütunundaki değerleri sorgular ve key'in veritabanında bulunup bulunmadığını kontrol eder. Eğer anahtar doğruysa, anahtar tablosundan anahtarın silinmesi için bir sorgu çalıştırır ve True değerini döndürür. Eğer anahtar yanlışsa, sadece False değerini döndürür.



Anahtarın doğru olup olmadığını kontrol etmek için, aşağıdaki gibi bir kod kullanabilirsiniz:
Python:
key = input("Lütfen anahtarınızı girin: ")

if check_key(key):
    print("Anahtar doğru. Program çalışacak.")
else:
    print("Anahtar yanlış. Program sonlandırılacak.")
Bu kod, kullanıcının bir anahtar girmesini isteyecek ve check_key() fonksiyonunu kullanarak anahtarın doğru olup olmadığını kontrol edecektir. Eğer anahtar doğruysa, program devam edecek ve aksi takdirde program sonlandırılacaktır.



Uygulamaya yeni anahtarlar eklemek için, add_key() adlı bir fonksiyon oluşturabilirsiniz:
Python:
def add_key(key):
    conn = sqlite3.connect('database.db')
    c = conn.cursor()

    c.execute("INSERT INTO keys (key) VALUES (?)", (key,))
    conn.commit()

    print("Anahtar eklendi.")
Python:
def add_key(key):
db = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database"
)

scss

cursor = db.cursor()

cursor.execute("INSERT INTO keys (key) VALUES (%s)", (key,))
db.commit()

print("Anahtar eklendi.")

db.close()
Bu fonksiyon, keys tablosuna yeni bir anahtar ekler.
 
Son düzenleme:
Ultra Üye
Katılım
5 Kas 2021
Mesajlar
1,516
Çözümler
5
Tepki puanı
144
Ödüller
3
4 HİZMET YILI
Hocam sql datası localhost a kurulmuş oluyor bu güvenli yöntem değil işi bilen kişi kendisi key ekleyip giriş yapabilir. Ama yararlı olmuş elinize sağlık
 
Süper Üye
Katılım
1 Şub 2019
Mesajlar
801
Çözümler
6
Tepki puanı
142
Ödüller
9
Sosyal
7 HİZMET YILI
Devam durmuk devam. Durmuyorsun anlaşılan, bilginin azı çoğu olmaz. Forumdakiler için yararlı olmuş.
 
ölmedim geri döndüm kaldığımız yerden devam
Süper Üye
Katılım
6 Eki 2019
Mesajlar
744
Çözümler
19
Tepki puanı
155
Ödüller
6
Sosyal
6 HİZMET YILI
Hocam sql datası localhost a kurulmuş oluyor bu güvenli yöntem değil işi bilen kişi kendisi key ekleyip giriş yapabilir. Ama yararlı olmuş elinize sağlık
bilgilendirme için teşekkürler konu mysql ile güncellendi
 
Admin
Katılım
9 Eki 2017
Mesajlar
13,539
Çözümler
1,050
Tepki puanı
3,382
Ödüller
22
8 HİZMET YILI
Emeğine sağlık güzel olmuş teker teker yazmışsın fakat şöyle bir şey var işten anlayan adam girer anahtarı falan kendi kafasına göre yapar yani ona dikkat etmek lazım
 
Ultra Üye
Katılım
22 Ara 2019
Mesajlar
1,554
Çözümler
3
Tepki puanı
148
Ödüller
5
Yaş
20
6 HİZMET YILI
konularınız çok iyi hocam emeğinize sağlık
 
ölmedim geri döndüm kaldığımız yerden devam
Süper Üye
Katılım
6 Eki 2019
Mesajlar
744
Çözümler
19
Tepki puanı
155
Ödüller
6
Sosyal
6 HİZMET YILI
Emeğine sağlık güzel olmuş teker teker yazmışsın fakat şöyle bir şey var işten anlayan adam girer anahtarı falan kendi kafasına göre yapar yani ona dikkat etmek lazım
önlemide onlar alsın artık
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...