Vartotojo registracijos IP saugojimas
Parašė SofteriZ 2012 kovo 23 22:03:51
Sveiki, taigi veikimo principas labai paprastas, saugomas nario registracijoje naudotas IP adresas, labai padedantis apsaugos skiltyje, nes šiuo metu saugomas paskutinio prisijungimo IP adresas.

Taigi, mažiau kalbų, daugiau darbų! Pradedam.

Pirmiausia mums reikės _users lentelė skilties, į kur bus įrašomas vartotojo registracijoje naudotas IP adresas. Atsidarome pridėtinius puslapius, įterpiame šį kodą, bei spaudžiam peržiūrėti:

[geshi=php]<?php
$result = dbquery("ALTER TABLE ".DB_PREFIX."users ADD user_regip text NOT NULL");
if ($result) echo "Viską atlikom, sekite tolimesniais nurodymais straipsnyje."; else mysqlerror();
?>[/geshi]

Kadangi lentelė sukurta, dabar reikia įrašyti duomenis. Atsidarome register.php failą, susirandame INSERT INTO, bei šį kodą:

[frame]$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES(".$user_info['user_name']."', '".$user_info['user_password']."', '".$user_info['user_email']."', '".$user_info['user_hide_email']."', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");[/frame]

keičiame šituo:

[frame]$result = dbquery("INSERT INTO ".$db_prefix."users (user_regip, user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES('".USER_IP.", ".$user_info['user_name']."', '".$user_info['user_password']."', '".$user_info['user_email']."', '".$user_info['user_hide_email']."', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");[/frame]

Viskas, nuo šiol įrašys registracijoje naudotus IP adresus.

Dabar reikia atvaizduoti šiuos duomenis:

Atsidarome profile.php failą, bei kur norite, kad rodytų dabartinį, bei registracijoje naudotą nario IP adresą įterpiame štai šias eilutes:

[geshi=php]if (iADMIN) {
echo "Administratoriaus informacija";
echo "IP: ".$data['user_ip']."
<br>
Registracijos metu:
".$data['user_regip']."";
echo "<br />";
}[/geshi]

Štai ir viskas, ištestuota kažkuriai v7 versijai, veikia.