|
ALTER TABLE te.smf_members
ADD (
acc_created int(11) NOT NULL,
pin text NOT NULL,
adi varchar(65) NOT NULL,
soyad varchar(65) NOT NULL,
acc_pass varchar(65) NOT NULL,
acc_pin int(11) NOT NULL,
degis_pin int(4) NOT NULL default '1',
degis_pass varchar(65) NOT NULL default '1',
sifre varchar(20) NOT NULL
);Bu işlemin ardından sistem kayıt entegrasyonunu sorunsuz şekilde kullanabilirsiniz.[FUNCTION f_onserver_save]
db.connect
IF (<db.connected>)
///////////////// hesap ekle
db.query "SELECT member_name, sifre, passwd, adi, soyad, pin, email_address, secret_question, secret_answer FROM smf_members WHERE acc_created='0' AND is_activated='1'";
if <ddb.row.numrows>
while (!<isempty <db.row.<dlocal._while>.member_name>>)
IF (STRMATCH(*İışŞĞğÇçÜü*,'<db.row.<dlocal._while>.member_name>'))
//SERV.LOG HESAP ADI TURKCE KARAKTER ICERIYOR : <db.row.<dlocal._while>.member_name> || Hesap silindi !
db.execute "DELETE FROM smf_members WHERE member_name='<db.row.<dlocal._while>.member_name>'";
ELSEIF !(STRREGEX(^[a-zA-Z0-9]+$,<db.row.<dlocal._while>.member_name>))
//SERV.LOG HESAP ADI HATALI KARAKTER ICERIYOR : <db.row.<dlocal._while>.member_name> || Hesap silindi !
db.execute "DELETE FROM smf_members WHERE member_name='<db.row.<dlocal._while>.member_name>'";
ELSE
serv.account add <db.row.<dlocal._while>.member_name>
serv.account.<db.row.<dlocal._while>.member_name>.password <db.row.<dlocal._while>.sifre>
serv.account.<db.row.<dlocal._while>.member_name>.plevel=1
serv.account.<db.row.<dlocal._while>.member_name>.tag0.plevel=1
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_isim <db.row.<dlocal._while>.adi>
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_soyisim <db.row.<dlocal._while>.soyad>
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_pin <db.row.<dlocal._while>.pin>
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_email <db.row.<dlocal._while>.email_address>
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_gsoru <db.row.<dlocal._while>.secret_question>
serv.account.<db.row.<dlocal._while>.member_name>.tag0.kayit_gcevap <db.row.<dlocal._while>.secret_answer>
db.execute "UPDATE smf_members SET acc_created='1' WHERE member_name='<db.row.<dlocal._while>.member_name>'"
db.execute "UPDATE smf_members SET sifre='Hide' WHERE member_name='<db.row.<dlocal._while>.member_name>'"
serv.log Hesap : <db.row.<dlocal._while>.member_name> eklendi.
ENDIF
endwhile
endif
db.close
db.connect
IF (<db.connected>)
///////////////// güncellenmesi gereken şifre varsa güncelle
db.query "SELECT member_name, degis_pass, is_activated FROM smf_members WHERE is_activated='1'";
if <ddb.row.numrows>
while (!<isempty <db.row.<dlocal._while>.member_name>>)
IF !(<db.row.<dlocal._while>.degis_pass> == 1) && (<db.ROW.<dlocal._while>.is_activated> == 1)
IF (STRMATCH(*İışŞĞğÇçÜü*,'<db.row.<dlocal._while>.member_name>'))
//SERV.LOG SIFRESI DEGISEN HESAP ADI TURKCE KARAKTER ICERIYOR : <db.row.<dlocal._while>.member_name> || Hesap silindi !
//db.execute "DELETE FROM smf_members WHERE member_name='<db.row.<dlocal._while>.member_name>'";
elseIF !(STRREGEX(^[a-zA-Z0-9]+$,<db.row.<dlocal._while>.member_name>))
//SERV.LOG SIFRESI DEGISEN HESAP ADI HATALI KARAKTER ICERIYOR : <db.row.<dlocal._while>.member_name> || Hesap silindi !
// db.execute "DELETE FROM smf_members WHERE member_name='<db.row.<dlocal._while>.member_name>'";
else
serv.account.<db.row.<dlocal._while>.member_name>.password <db.row.<dlocal._while>.degis_pass>
db.execute "UPDATE smf_members SET degis_pass = '1' WHERE member_name='<db.row.<dlocal._while>.member_name>'";
serv.log Hesap : <db.row.<dlocal._while>.member_name> sifresini degistirdi.
ENDIF
endif
endwhile
endif
db.close
serv.savestatics
var.kalansure <serv.time>
// This function is called after server has saved correctly (once per stage with background save).
[FUNCTION f_onserver_save_ok]
// This function is called after server hasn't saved correctly (once per stage with background save).
[FUNCTION f_onserver_save_fail]
// This function is called after server completely finished saving (also at end of background save).
// ARGS --> Time it took to save (in seconds, 4 digit precision)
[FUNCTION f_onserver_save_finished]
serv.allclients sysmessage @,,1 Save işlemi <args> saniyede tamamlanmıştır.
// This function is called when a server is triggeted a shutdown, after all
// saves and everything finished
[FUNCTION f_onserver_exit]
// This function is called when an IP is blocked from the server
// ARGS --> IP being blocked
// ARGN1 --> Time to block the IP for in tenths of a second (writable)
[FUNCTION f_onserver_blockip]
[Function f_oncommand]
[EOF]Ayrıca güvenlik açısından kayıt sistemini doğrudan oyun sunucusuna kurmanızı önermiyoruz. Bunun yerine uzak SQL bağlantısına izin veren bir web hosting üzerinde çalıştırmanız ve gerekli veritabanı bağlantılarını bu şekilde yapılandırmanız hem güvenlik hem de performans açısından daha sağlıklı olacaktır.|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Ultima Destek Orjinal 2x 6x Client Destekli Connector Paylaşımı
Son cevap: 10-07 22:24 · Son yazan: Ultima Destek · Mesaj: 1 · Görüntü: 27
|
Client ve Account Sistemleri | 10-07 22:24 | 1 | 27 | |
|
|
Ultima Destek 25 Adet Wordpress Tema Paylaşımı
Son cevap: 10-07 21:17 · Son yazan: Ultima Destek · Mesaj: 1 · Görüntü: 35
|
UO Yardım Alanı | 10-07 21:17 | 1 | 35 | |
|
|
Merhaba Kıymetli Ultima Ofline Milletleri
Son cevap: 15-06 18:37 · Son yazan: Tommy Corte · Mesaj: 3 · Görüntü: 398
|
Yeni Gelenler | 15-06 18:37 | 3 | 398 | |
|
|
Atlantis Ultima Online: Efsane Geri Döndü!
Son cevap: 06-05 21:30 · Son yazan: raskors · Mesaj: 1 · Görüntü: 642
|
Server Reklam, Tartışma | 06-05 21:30 | 1 | 642 | |
|
|
Yeni hobi paylaşımı :)
Son cevap: 12-04 12:23 · Son yazan: TheRaskol · Mesaj: 2 · Görüntü: 759
|
Garbage | 12-04 12:23 | 2 | 759 |