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.