Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Kodas
Parašė Kelmas· 2008 Bal. 30 11:04:04
#1
Sveiki,
Bekodindamas viena modą pasebėjau, kad nedaro vienos užklausos. Jį tokia:
if (isset($_GET['ban']) && is_numeric($_GET['ban'])){
$result = dbquery("INSERT INTO ".$db_prefix."blacklist SET (blacklist_ip='login_ip')");
redirect(FUSION_SELF);
O turėtu daryti taip.. kai buvo paspauda ?ban-ipas įpa įgrustų į blacklist lentelę.
Iš anksto dėkui, kas padės.
(Sakau, kad čia buvo pagal senajį varijantą darytą. Tai galėjau stipriai pievų darašyti...)
Redagavo Kelmas· 2008 Bal. 30 12:04:46
Parašė ramon· 2008 Bal. 30 12:04:52
#2
Ka reiskia "
login_ip"? Vienu zodziu jei ta uzklausa bus vikdoma profili tai vietoi to zodzio "
login_ip" parasik "
$lookup"...
Parašė Kelmas· 2008 Bal. 30 12:04:30
#3
ramon parašė:
Ka reiskia "login_ip"? Vienu zodziu jei ta uzklausa bus vikdoma profili tai vietoi to zodzio "login_ip" parasik "$lookup"...
Ne, ne profilije o adminkėje. Tiesog yra užlogina-gauna rezultatą įrašo į login_ip lentelė (Šitas dalykas veikia) Tiesog man tas kai spaudu man to vartotojo ip neužbanina.. :|
Parašė ramon· 2008 Bal. 30 12:04:50
#4
Nu tai ir ne uzbanins, nes "
login_ip" yra paprastas zodis vat jei paroditum pilna koda to failo gal pasakiciau kaip o taip nesu visaregis..
Parašė Kelmas· 2008 Bal. 30 12:04:59
#5
ramon parašė:
Nu tai ir ne uzbanins, nes "login_ip" yra paprastas zodis vat jei paroditum pilna koda to failo gal pasakiciau kaip o taip nesu visaregis..
Čia modas redeguotas , bet irgi reikia topačio tai vą še:
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2005 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../../maincore.php";
require_once BASEDIR."subheader.php";
require_once ADMIN."navigation.php";
if (!checkrights("IP")) fallback("../../index.php");
if (isset($_GET['delete']) && is_numeric($_GET['delete'])){
$query = dbquery("DELETE FROM ".$db_prefix."bad_login WHERE login_id='".$_GET['delete']."'");
redirect(FUSION_SELF);
}
if (isset($_GET['ban']) && is_numeric($_GET['ban'])){
$result = dbquery("INSERT INTO ".$db_prefix."blacklist WHERE (blacklist_ip='login_ip')");
redirect(FUSION_SELF);
} elseif(isset($_GET['lookup']) && is_numeric($_GET['lookup'])){
$query = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_ip='".$_GET['lookup']."'");
if(dbrows($query) != 0) {
opentable(dbrows($query)." Members Found");
$counter = 0;
while ($data = dbarray($query)){
echo "<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a>";
echo "<br />".$data['user_ip'];
$counter++;
if(dbrows($query) >= 2 && $counter <= dbrows($query)) echo "<br /><br />";
}
} else {
opentable("Brak b³źdnych logowań");
echo "Wskazany adres IP nie naleæy do æadnego uæytkownika.";
}
closetable();
} else {
$result = dbquery("SELECT * FROM ".$db_prefix."bad_login");
opentable("Portalo klaidos");
if(dbrows($result) != 0){
echo "<center><table width='500px'><tr><td>";
echo "<span style='font-weight:bold'>IP Adresas</span></td><td><span style='font-weight:bold'>Laikas</span></td><td><span style='font-weight:bold'>Nick</span></td><td><span style='font-weight:bold'>Nustatymai</span></td></tr>";
while($data = dbarray($result)){
echo "<tr><td><a href='http://www.ripe.net/fcgi-bin/whois?".$data['login_ip']."'target='_blank'>";
echo $data['login_ip']."</a></td>";
echo "<td>".ucwords(showdate("%d.%m.%Y %H:%M:%S", $data['login_time']))."</td>";
echo "<td>".$data['login_user']."</td>";
echo "<td><a href='".FUSION_SELF."?delete=".$data['login_id']."'>Trinti logą</a><td></tr>";
echo "<a href='?ban=".$data['login_ip']."'>Užbaninti vartotoją</a>";
}
echo "</table></center>";
} else {
echo "<center>Nie odnotowano æadnego b³źdnego logowania.</center>";
}
closetable();
}
echo "</td>\n";
require_once BASEDIR."footer.php";
?>
Parašė ramon· 2008 Bal. 30 12:04:39
#6
Megink su
$data['login_ip'] bet nzn cia reikia paziureti konkreciau nes lenku kurti modai biski keistoki. :)
Redagavo ramon· 2008 Bal. 30 12:04:58
Parašė Kelmas· 2008 Bal. 30 12:04:40
#7
ramon parašė:
Megink su $data['login_ip'] bet nzn cia reikia paziureti konkreciau nes lenku kurti modai biski keistoki. :)
Nieko taspats.
Parašė ramon· 2008 Bal. 30 12:04:18
#8
Geriau prisek moda, pazaist..
Parašė Kelmas· 2008 Bal. 30 12:04:37
#9
ramon parašė:
Geriau prisek moda, pazaist..
Kad čia nėr ko prisegti, pagrindinis failas čia yra papostinas dar infusions.php , bet nieko tau iš jo gero nebus.
Nebent
mysql lentelė iš ten tai še: (tiesiai nukopinau nuo infusions.php)
// Delete any items not required here.
$inf_newtable_[1] = "bad_login (
login_id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
login_ip VARCHAR(200) DEFAULT '' NOT NULL,
login_time VARCHAR(200) DEFAULT '' NOT NULL,
login_user VARCHAR(200) NOT NULL,
PRIMARY KEY (login_id)
) TYPE=MyISAM;";
Redagavo Kelmas· 2008 Bal. 30 12:04:46
Parašė ramon· 2008 Bal. 30 12:04:51
#10
Ai, einu pamiegot, grizdamas gal issiblaivinsiu tai iskarto padesiu..
Parašė Kelmas· 2008 Bal. 30 12:04:36
#11
ramon parašė:
Ai, einu pamiegot, grizdamas gal issiblaivinsiu tai iskarto padesiu..
Ok lauksiu ;)
Parašė Kelmas· 2008 Bal. 30 13:04:26
#12
Pabandžiau naują kodą, bet vėl neveikia jis atrodo:
if (isset($_GET['ban']) && is_numeric($_GET['ban'])){
$result = dbquery("UPDATE ".$db_prefix."blacklist WHERE blacklist_ip='".$_GET['ban'].")");
redirect(FUSION_SELF);
Nežinot kur čia šaknis gal kas? :)
Redagavo Kelmas· 2008 Bal. 30 13:04:03
Parašė ramon· 2008 Bal. 30 14:04:58
#13
Megink taip :
if (isset($_GET['ban']) && is_numeric($_GET['ban'])){
$a = dbquery("DELETE FROM ".$db_prefix."bad_login");
while ($b = dbarray($a)){
$c = $b['login_ip'];
$result = dbquery("INSERT INTO ".$db_prefix."blacklist WHERE blacklist_ip='$c'");
redirect(FUSION_SELF);
}
}
Parašė Kelmas· 2008 Bal. 30 18:04:44
#14
Neveikė, bet pasidariau pats ir nelabai supratau šita eilutę:
$a = dbquery("DELETE FROM ".$db_prefix."bad_login");
while ($b = dbarray($a)){
Kam trinti?
O tema galite rakinti. :)
Redagavo Kelmas· 2008 Bal. 30 18:04:10
Parašė ramon· 2008 Bal. 30 19:04:07
#15
Ten sumaisiau turejo but SELECT.