arkadaşlar coderin yazmış olduğu acc sisteminde problem yok hatta editli halini buldumda şmdi bu acc sistemini kurduktan sonra şifre hatırlat dediğinde maile şifreyi yollatmak için ne yapabilrim çok baktmda smtp server falan kod yok yardımcı olabilirmsiin ??


<?
//-----------------------------------------------------------------------------------------------------------------
//                     
//-----------------------------------------------------------------------------------------------------------------
mysql_connect("localhost","username","password");
mysql_select_db("databasename");
session_start();
//-----------------------------------------------------------------------------------------------------------------
// Güvenlik Ayarlari 
//-----------------------------------------------------------------------------------------------------------------

if( !get_magic_quotes_gpc() ) {
if( is_array($_GET) ) {
while( list($k, $v) = each($_GET) ) {
if( is_array($_GET[$k]) ) {
while( list($k2, $v2) = each($_GET[$k]) ) {
$_GET[$k][$k2] = addslashes($v2); 
}
@reset($_GET[$k]);
} else {
$_GET[$k] = addslashes($v);
}
}
@reset($_GET);
}
if( is_array($_POST) ) {
while( list($k, $v) = each($_POST) ) {
if( is_array($_POST[$k]) ) {
while( list($k2, $v2) = each($_POST[$k]) ) {
$_POST[$k][$k2] = addslashes($v2);
}
@reset($_POST[$k]);
} else {
$_POST[$k] = addslashes($v);
}
}
@reset($_POST);
}
if( is_array($_COOKIE) ) {
while( list($k, $v) = each($_COOKIE) ) {
if( is_array($_COOKIE[$k]) ) {
while( list($k2, $v2) = each($_COOKIE[$k]) ) {
$_COOKIE[$k][$k2] = addslashes($v2);
}
@reset($_COOKIE[$k]);
} else {
$_COOKIE[$k] = addslashes($v);
}
}
@reset($_COOKIE);
}
}


foreach ($_GET as $secvalue) { //XSS acigi fixi
if ((eregi("<[^>]*script*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*object*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*iframe*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*applet*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*meta*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*style*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*form*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*img*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*span*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*h1*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*table*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*body*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*pre*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*em*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*input*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*td*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*option*\"?[^>]*>", $secvalue)) ||
(eregi(";", $secvalue)) ||
(eregi("'", $secvalue)) ||
(eregi("´", $secvalue)) ||
(eregi("`", $secvalue)) ||
// (eregi('+', $secvalue)) ||
(eregi("\"", $secvalue))) {
die ("Gecersiz Islem !...");
    }
}
//-----------------------------------------------------------------------------------------------------------------
// Script Baslangici
//-----------------------------------------------------------------------------------------------------------------
$DosyaAdi  = "index.php";
$ServerAdi = "Bilmemne UO Shard";
$Hosting = "https://localhost";
$scriptyol = "https://ip numarası remotenin yada sitenin tam yolu index için/acc";


echo "<html><head><title>$ServerAdi</title><META http-equiv='Content-Type' content='text/html; charset=windows-1254'>".
"<style>".
"TD { font-family:verdana; font-size:10px; }".
"Th { background-color:#F1F2F2; height:20px; font-family:verdana; font-size:10px; border:1px solid #000000; }".
"Tr { background-color:#E6E7E8; height:29px; font-family:verdana; font-size:10px; border:1px solid #000000; }".
"TABLE { border:1px solid #c0c0c0; }".
"INPUT { border:1px solid #939598; }".
"A { text-decoration:none; color:#939598; }".
"</style>".
"</head><body><center>".
" ";

Switch ($_GET[islem]) {
Case "unuttum":
if (isset($_POST[email])) {
$sorgu = mysql_query("select * from uye where email='$_POST[email]'");
if (!mysql_num_rows($sorgu)) {
echo "Böyle bir email bulunamadi";
} else {
mail_sifre_hatirlat($sorgu);
echo tablogoster("Sifre hatirlatma mailiniz gönderildi");
}

}
echo '<center><form action="'.$PHP_SELF.'?islem=unuttum" method=POST><table width=310><tr><th> Sifre Hatirlatma</th></tr><tr><td>Email Adresiniz : <INPUT size=12 TYPE="text" NAME="email">&nbsp;<INPUT TYPE="submit" value="Sifremi Gönder" style={width:100;} ></td></tr></table></form>';
break;
Case "kayit":

if (isset($_POST[username])) {
$hata = "";

$_POST[isim] = trim($_POST[isim]);
$_POST[username] = trim($_POST[username]);
$_POST[password] = trim($_POST[password]);
$_POST[email] = trim($_POST[email]);


if (strlen($_POST[isim]) < 5 or strlen($_POST[isim]) > 30 ) $hata .= "Isim soyad 5 karakterden küçük 30 karakterden büyük olamaz<br>";
if (strtolower($_POST[username]) == "eof" or strtolower($_POST[username]) == "administrator" or strtolower($_POST[username]) == "remoteadmin") { $hata .= "Seçtiginiz kullanici adi ile sisteme baglanamazsiniz"; }
if (hatali_karakter_varmi($_POST[username])) { $hata .= "Kullanici adinizda hatali karakterler var<br>"; }
if (hatali_karakter_varmi($_POST[password])) { $hata .= "Sifrenizde adinizda hatali karakterler var<br>"; }
if (strlen($_POST[username]) < 5 or strlen($_POST[username]) > 16 ) $hata .= "Kullanici Adi 5 karakterden küçük 16 karakterden büyük olamaz<br>";
if (strlen($_POST[password]) < 5 or strlen($_POST[password]) > 16 ) $hata .= "Sifre 5 karakterden küçük 16 karakterden büyük olamaz<br>";
// if(!ereg("^.+@.+\\..+$", $_POST[email])) { $hata .= " $_POST[email] geçerli bir email degil.<br>\n"; }
if (mysql_num_rows(mysql_query("select email from uye where email = '$_POST[email]' or kayit_email = '$_POST[email]'"))) { $hata .= " $_POST[email] adresi sistemimize daha önceden kayitlidir lütfen baska bir email giriniz<br>";}
if (mysql_num_rows(mysql_query("select username from uye where username = '$_POST[username]'"))) { $hata .= " $_POST[username] kullanici adi sistemimize daha önceden kayitlidir lütfen baska bir kullanici adi giriniz<br>";}
if ($hata !== "") { 
echo tablogoster("<b>Doldurdugunuz Formda Bazi hatalar bulundu lütfen bu hatalari giderip tekrar deneyiniz <br></b><br>$hata");
} else {
extract($_POST);
$onay = rand(100,999);
mysql_query("insert into uye (username,password,isim,email,kayit_email,onay) values('$username','$password','$isim','$email','$email','$onay')");
echo tablogoster("Tebrikler üye oldunuz. Uyeliginiz su anda aktif degil lütfen asagidaki linke tiklayin.<br> <a href='$scriptyol?islem=akiv&kod=$onay&username=$username'>AKTIF ET</a>");

$mail .= $ServerAdi .  " Üyelik Basvurunuz\n";
$mail .= "Sitemize yaptiginiz basvuru sonucu üyeliginizi aktif etmek için bu linke tiklamaniz gerekmektedir.\n";
$mail .= "$scriptyol?islem=akiv&kod=$onay&username=$username \n";

}
} else {
uyelik_formu_goster();
}
Break;

Case "login":
$sorgu = mysql_query("select id,onay from uye where username='$_POST[username]' and password='$_POST[password]'");
if (mysql_num_rows($sorgu)) {
$field = mysql_fetch_object($sorgu);
if ($field->onay !== "1") {
echo tablogoster("Hesabiniz aktif degil Lütfen email adresinizden onay mailinda gelen linke tiklayin.");
} else {
$_SESSION['userid'] = $field->id; 
echo tablogoster("Login oldunuz yönlendiriliyorsunuz");
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=$PHP_SELF\">";
}
} else {
echo tablogoster("Hatali kullanici adi yada sifre");
}

Break;

Case "sifre_unuttum":
Break;


Case "akiv":
if (mysql_num_rows(mysql_query("select * from uye where username='$_GET[username]' and onay='$_GET[kod]'"))) {
mysql_query("update uye set onay='1' where username='$username'");
$row = mysql_fetch_assoc(mysql_query("select username,password from uye where username='$_GET[username]'"));
account_dosyasina_yaz($row[username],$row[password]);
echo tablogoster("Tebrikler üyeliginiz aktif oldu.Oyun hesabiniz açildi hemen oynamaya baslayabilirsiniz.");
} else {
echo tablogoster("Hata : Böyle bir kullanici bulunamadi yada hatali onay kodu");
}
Break;




Case "logout":
session_destroy();
echo tablogoster("Çikis Yaptiniz");
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=$PHP_SELF\">";
Break;

Case "bilgilerim":
if (!is_numeric($_SESSION[userid])) { die("Buraya login olmadan erisemezsiniz"); } 
echo "<table width=310><tr><th><a href=$PHP_SELF>Görünüsüm </a> | <a href=$PHP_SELF?islem=bilgilerim>Bilgilerim</a> | <a href=$PHP_SELF?islem=logout>Çikis</a></th></tr></table><br>";

if (isset($_POST[isim])) {
$hata ="";
$_POST[isim] = trim($_POST[isim]);
$_POST[password] = trim($_POST[password]);
$_POST[email] = trim($_POST[email]);
extract(mysql_fetch_assoc(mysql_query("select * from uye where id='$_SESSION[userid]'")));

if (strlen($_POST[isim]) < 5 or strlen($_POST[isim]) > 30 ) $hata .= "Isim soyad 5 karakterden küçük 30 karakterden büyük olamaz<br>";
if ($_POST[password] !== "" and strlen($_POST[password]) < 5 or strlen($_POST[password]) > 16 ) $hata .= "Sifre 5 karakterden küçük 16 karakterden büyük olamaz<br>";
if (hatali_karakter_varmi($_POST[password])) { $hata .= "Sifrenizde adinizda hatali karakterler var<br>"; }
if ($_POST[email]!==$email) {
if (mysql_num_rows(mysql_query("select email from uye where email = '$_POST[email]' or kayit_email = '$_POST[email]'"))) { $hata .= " $_POST[email] adresi sistemimize daha önceden kayitlidir lütfen baska bir email giriniz<br>";}
if(!ereg("^.+@.+\\..+$", $_POST[email])) { $hata .= " $_POST[email] geçerli bir email degil.<br>\n"; }
}

if (mysql_num_rows(mysql_query("select username from uye where username = '$_POST[username]'"))) { $hata .= " $_POST[username] kullanici adi sistemimize daha önceden kayitlidir lütfen baska bir kullanici adi giriniz<br>";}
if ($hata !== "") { 
echo tablogoster("<b>Doldurdugunuz Formda Bazi hatalar bulundu lütfen bu hatalari giderip tekrar deneyiniz <br></b>$hata");

} else {
if ($_POST[password] !== "") {$ekle = " ,password='$_POST[password]'";}
if ($_POST[email]!==$email) { $ekle .= " ,email='$_POST[email]'"; } 

mysql_query("update uye set isim='$_POST[isim]'$ekle where id=$_SESSION[userid]");
$row = mysql_fetch_assoc(mysql_query("select username,password from uye where id=$_SESSION[userid]"));
account_dosyasina_yaz($row[username],$row[password]);

echo tablogoster("Bilgileriniz güncellendi");
}

}
uyelik_bilgi_duzenle();
Break;



default:
if (is_numeric($_SESSION[userid])) {
echo "<table width=310><tr><th><a href=$PHP_SELF>Görünüsüm </a> | <a href=$PHP_SELF?islem=bilgilerim>Bilgilerim</a> | <a href=$PHP_SELF?islem=logout>Çikis</a></th></tr></table><br>";
uyelik_bilgi_goster();
} else {
uye_login_formu_goster();
}

}// switch sonu



function uye_login_formu_goster() { global $ServerAdi;
print<<<EOF
<form action=$DosyaAdi?islem=login method=POST>
<table border="0" width=310>
  <tr>
    <th width="100%" colspan="2">$ServerAdi Kullanici Girisi</th>
  </tr>
  <tr style={height:10;}>
    <td>Kullanici Adi</td>
    <td><input type="text" maxlength="16" name="username" size="15"></td>
  </tr>
  <tr style={height:10;}>
    <td>Sifre</td>
    <td><input type="password" maxlength="16" name="password" size="15"></td>
  </tr>
  <tr>
    <td width="100%" colspan="2"><p align="center"><a href=$PHP_SELF?islem=kayit>Kayit</a> | <a href=$PHP_SELF?islem=unuttum>Sifremi unuttum</a> <input type="submit" value="Giris"
    name="B1"> </td>
  </tr>

</table>
</form>
EOF;
}


function uyelik_formu_goster() { global $ServerAdi;
print<<<EOF
<center><form action="$PHP_SELF?islem=kayit" method=POST>

<table border="0">
  <tr>
    <tH width="100%" colspan="2">$ServerAdi Kullanici Kayit Formu</tH>
  </tr>
  <tr>
    <td width="50%">Isim Soyad</td>
    <td width="50%"><input type="text" name="isim" maxlength="30" size="20"></td>
  </tr>
  <tr>
    <td width="50%">Kullanici Adi</td>
    <td width="50%"><input type="text" name="username" maxlength="16" size="20"></td>
  </tr>
  <tr>
    <td width="50%">Sifre</td>
    <td width="50%"><input type="password" name="password" maxlength="16" size="20"></td>
  </tr>
  <tr>
    <td width="50%">Email</td>
    <td width="50%"><input type="text" name="email" size="20"></td>
  </tr>
  <tr>
    <td width="100%" colspan="2"><p align="center"><input type="submit" value="Yolla"
    name="B1"></td>
  </tr>
</table>
</center>
EOF;
}


function uyelik_bilgi_duzenle() { global $ServerAdi;
extract(mysql_fetch_assoc(mysql_query("select * from uye where id='$_SESSION[userid]'")));
//echo $username;
print<<<EOF
<form action="$PHP_SELF?islem=bilgilerim" method=POST>
<table border="0" width=310>
  <tr>
    <th width="100%" colspan="2">$isim Kullanici Bilgileri</th>
  </tr>
  <tr>
    <td width="50%">Isim Soyad</td>
    <td width="50%"><input type="text" name="isim" size="20" value="$isim"></td>
  </tr>
  <tr>
    <td width="50%">Kullanici Adi</td>
    <td width="50%">$username</td>
  </tr>
  <tr>
    <td width="50%">Sifre</td>
    <td width="50%"><input type="password" name="password" size="20"></td>
  </tr>
  <tr>
    <td width="100%" colspan=2>Sifre degisikligi istemiyorsaniz bos birakiniz.</td>
  </tr>

<tr>
    <td width="50%">Email</td>
    <td width="50%"><input type="text" name="email" size="20" value="$email"></td>
  </tr>
  <tr>
    <td width="100%" colspan="2"><p align="center"><input type="submit" value="Yolla"
    name="B1"></td>
  </tr>
</table>
</center>
EOF;
}
function mail_sifre_hatirlat($sorgu) {
$row = mysql_fetch_assoc($sorgu);
$mail = "Web sitemizden yapmis oldugunuz sifre hatirlatma islemi sonucu sifrenizi bildiriyoruz : \n".
" Kullanici Adiniz : $row[username] \n".
" Sifreniz : $row[password] \n";
mail($row[email],"$ServerAdi Sifre Hatirlatmasi",$mail);
//echo "<pre>";print_r($row);echo "</pre>";
}

function uyelik_bilgi_goster() { global $ServerAdi,$PHP_SELF;
extract(mysql_fetch_assoc(mysql_query("select * from uye where id='$_SESSION[userid]'")));
print<<<EOF
<table border="0" width=310>
  <tr>
    <th width="100%" colspan="2">$isim Kullanici Bilgileri</th>
  </tr>
  <tr>
    <td width="50%">Isim Soyad</td>
    <td width="50%">$isim</td>
  </tr>
  <tr>
    <td width="50%">Kullanici Adi</td>
    <td width="50%">$username</td>
  </tr>
  <tr>
    <td width="50%">Sifre</td>
    <td width="50%">*********</td>
  </tr>
<tr>
    <td width="50%">Email</td>
    <td width="50%">$email</td>
  </tr>
  <tr>
  <form action=$PHP_SELF><input name="islem" type="hidden" value="bilgilerim"></tr>
  <tr>
    <td width="100%" colspan="2"><p align="center"><input type="submit" value="Degistir"
    name="B1"></td></form>
  </tr>
</table>
</center>
EOF;
}

//echo "<pre>";print_r($_POST);echo "</pre>";
//echo "<pre>";print_r($_SESSION);echo "</pre>";
function tablogoster($mesaj) { 
return "<table width=310><tr><th>$mesaj</th></tr></table>";
}

function hatali_karakter_varmi($text) { // hatliysa true döndür
for ($i = 0; $i<strlen($text); $i++) {
if (!strpos("qwertyuopasdfghjklizxcvbnm1234567890",strtolower($text[$i]))) { return true; }
}
return false;
}

function account_dosyasina_yaz($username,$password) { 
$username = trim($username);
$password = trim($password);
$dosya_adi = 'C:\sphere\accounts\sphereacct.scp'; 
$icerik = "[$username]". chr(13). "\npassword=$password". chr(13) . "\nplevel=1" . chr(13) ."\n" ;
if (is_writable($dosya_adi)) { 
   if (!$handle = fopen($dosya_adi, 'a')) { 
        tablogoster("Teknik Bir Sorundan dolayi su anda sistem hesabinizi güncelleyemiyor."); 
        die(); 
   } 
   if (!fwrite($handle, $icerik)) { 
        tablogoster("Teknik Bir Sorundan dolayi su anda sistem hesabinizi güncelleyemiyor."); 
   die(); 
   }  
   fclose($handle); 
               
} else { 
    tablogoster("Teknik Bir Sorundan dolayi su anda sistem hesabinizi güncelleyemiyor."); 
die();
} 

}

?>
hmm aynı sorun bende de war :S ilgili arkadaslar yardım ederse sevınırım
mail server kurman gerekiyor servera.
prudent smtp server kurarım kurmasınada kurduktan sonra bilgileri nereye girecez onu soruyrum ??
zaten serverınızda server kuruluysa, bir bilgi girmenize gerek yok kendisi gönderir.

}
function mail_sifre_hatirlat(&#36;sorgu) &#123;
&#36;row = mysql_fetch_assoc(&#36;sorgu);
&#36;mail = "Web sitemizden yapmis oldugunuz sifre hatirlatma islemi sonucu sifrenizi bildiriyoruz : &#92;n".
" Kullanici Adiniz : &#36;row[username] &#92;n".
" Sifreniz : &#36;row[password] &#92;n";
mail(&#36;row
//echo "<pre>";print_r(&#36;row);echo "</pre>";
}

bölümündeki kısma serveradi yerine serverınızın adınızı yazın yeterli.">,"&#36;ServerAdi Sifre Hatirlatmasi",&#36;mail);

//echo "<pre>";print_r(&#36;row);echo "</pre>";
}

bölümündeki kısma serveradi yerine serverınızın adınızı yazın yeterli.
ya ben internetten indirdim bir smtp server programını kurdumda olmadı ? başka nasıl yapabilirim

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.