Navigacija

Vartotojų tinkle

Prisijungusių svečių: 122
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,956
Naujausias narys: saulyzas

Naujausi straipsniai

Paskutiniai nariai

Reikalas10:36:00
MaFetas 2 savaitės
ozzWANTED 3 savaitės
saulyzas 5 savaitės
TOMIJUS 6 savaitės
Jaunelis22 savaitės
lanis22 savaitės
And2s23 savaitės
Memento Mori28 savaitės
Quwqkibor30 savaitės
asirija34 savaitės
tomeem36 savaitės
weberiz39 savaitės
mRokass42 savaitės
kartoonas43 savaitės
grunskiz46 savaitės
Bruksnys46 savaitės
illusion46 savaitės
ordo47 savaitės
Jurgaila48 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 18.116.52.29
Naujienų: 529
Straipsnių: 235
Temų: 52,589
Postų: 522,538
Postų pask. parą: 1
Shout'ų pask. parą: 0
P.S.C. pask. parą: 1
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

ozzWANTED
2024 Lap. 30 15:11:14
Taip, vis dar up šypsosi

MaFetas
2024 Lap. 13 22:11:57
hey how, geras dar veikiantis saitas?

Jaunelis
2024 Lie. 25 11:07:43
Oho vis dar veikia svetainė akinanti šypsen Šimtas metų, matau Šaukykloje nuostalgija. Smagu panaršyt po forumą ir pažiūrėt senas temas šypsosi

And2s
2024 Lie. 17 19:07:04
2008 pirmą kart čia patekau, man buvo 10m ir čia pramokau programavimo.. smagu skaityti senas žinutes, tokia nostalgija akinanti šypsen ačiū Ozz kad saugoji šitą kultūrinį reliktą šypsosi

ozzWANTED
2024 Sau. 17 01:01:00
Desperatiškus komentarus šaukykloje su accountu po mėnesio prasibuvimo, ištryniau. Pasaulis ir taip juodas. Įjungiam šviesą, prašviesės. šypsosi

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
Saugumo laipteliu auksciau
Forumas | Modai, įskiepiai, panelės (PHP-FUSION) | Naujų modų pristatymai

Autorius: BloodKiller Peržiūrų: 6856      Spausdinti temą
2007 Rugp. 4 18:08:57          1 žinutė iš 18
Spausdinti pranešimą
Is neturejimo ka veikti sugalvojau siokia tokia apsauga PHP-Fusion. Zinoma ne visi ja gales pasinaudoti, bet kas sugebes, tikrai nesigailes. Tai skirta apsaugoti administratoriu vartotojus. :D :D

Redaguojami failai: config.php, maincore.php
Kuriami failai: sesijos_patvirtinimas.php (sis failas turi buti laikomas toje pacioje direktorijoje, kur pagrindiniai failai).

Pirmiausia sukurkime sesijos_patvirtinimas.php faila ir i ji rasykime toki koda.

<?php
include "maincore.php";
include "subheader.php";
include "side_left.php";

dbquery("DELETE FROM ".$db_prefix."vcode WHERE vcode_datestamp < ".time());
if (dbcount("(*)","vcode","") > 10) dbquery("TRUNCATE TABLE ".$db_prefix."vcode");
srand((double)microtime()*1000000);
$temp_num = md5(rand(0,9999));
$vcode_1 = substr($temp_num, 17, 5);
$vcode_2 = md5($vcode_1);
unset($temp_num);

dbquery("INSERT INTO ".$db_prefix."vcode (vcode_datestamp,vcode_1,vcode_2) VALUES ('".(time()+60)."','$vcode_1','$vcode_2');");
opentable("Sesijos patvirtinimas administracijai");
if (!isset($_SESSION['sess_number'])) $_SESSION['sess_number'] = mt_rand(1,30);
if (isset($_POST['get_session'])) {
   if (dbcount("(*)","users","user_password = '".md5($_POST['admin_pass'])."'") == 1) {
      $data = dbarray(dbquery("SELECT * FROM ".$db_prefix."users WHERE user_password = '".md5($_POST['admin_pass'])."'"));
      if ($data['user_level'] > 101) {
         $_SESSION['auth'] = sha1($data['user_password']);
         echo "Autorizacija jungtis <b>".htmlspecialchars($data['user_name'])."</b> vartotojui gauta<br>\n";
      }
   }
}
if (isset($_POST['auth_user']) && dbcount("(*)","vcode","vcode_1 = '".$_POST['kodas']."' AND vcode_2 = '".md5($_POST['kodas'])."'")) {
   if (sha1($sess_pass[($_SESSION['sess_number'])]) == sha1($_POST['sess_pass'])) {
      echo "<form method='post' action='".FUSION_SELF."'>
<table align='center'>
<tr><td>Įveskite bet kurio administratoriaus slaptažodį:</td><td><input type='password' name='admin_pass' class='textbox' style='width:250px;'></td></tr>
<tr><td></td><td><input type='submit' name='get_session' value='Gauti sesiją' class='button'></td></tr>
</table>
</form>\n";
   }
}
echo "<form method='post' action='".FUSION_SELF."'>
<table align='center'>
<tr><td>Sesijos slaptažodis <b>".$_SESSION['sess_number']."</b>:</td><td><input name='sess_pass' class='textbox' style='width:250px;'></td></tr>
<tr><td></td><td><input type='submit' name='auth_user' class='button' value='Patvirtinti savo vartotoją'></td></tr>
<input type='hidden' name='kodas' value='$vcode_1'>
</table>
</form>\n";
closetable();

include "side_right.php";
include "footer.php";
?>




Dabar atsidarykime maincore.php ir po <?php eilute irasykite session_start();. dabar susiraskite...

if (isset($_POST['login'])) {
   $user_pass = md5($_POST['user_pass']);
   $user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
   $result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_name='$user_name' AND user_password='$user_pass'");
   if (dbrows($result) != 0) {
      $data = dbarray($result);
      $cookie_value = $data['user_id'].".".$data['user_password'];
      if ($data['user_status'] == 0) {   
         $cookie_exp = isset($_POST['remember_me']) ? time() + 3600*24*30 : time() + 3600*3;
         header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
         setcookie("fusion_user", $cookie_value, $cookie_exp, "/", "", "0");
         redirect(BASEDIR."setuser.php?user=".$data['user_name'], "script");
      } elseif ($data['user_status'] == 1) {
         redirect(BASEDIR."setuser.php?error=1", "script");
      } elseif ($data['user_status'] == 2) {
         redirect(BASEDIR."setuser.php?error=2", "script");
      }
   } else {
      redirect(BASEDIR."setuser.php?error=3");
   }
}




...keiskite i...

if (isset($_POST['login'])) {
   $user_pass = md5($_POST['user_pass']);
   $user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
   $result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_name='$user_name' AND user_password='$user_pass'");
   if (dbrows($result) != 0) {
      $data = dbarray($result);
      $cookie_value = $data['user_id'].".".$data['user_password'];
      if ($data['user_status'] == 0) {
         if ($data['user_level'] > 101) {
            if (isset($_SESSION['auth'])) {
               if (sha1($data['user_password']) == $_SESSION['auth']) {
                  $cookie_exp = isset($_POST['remember_me']) ? time() + 3600*24*30 : time() + 3600*3;
                  header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
                  setcookie("fusion_user", $cookie_value, $cookie_exp, "/", "", "0");
                  redirect(BASEDIR."setuser.php?user=".$data['user_name'], "script");
               } else {
                  redirect(BASEDIR."setuser.php?error=3");
               }
            } else {
               redirect(BASEDIR."setuser.php?error=3");
            }
         } else {
            $cookie_exp = isset($_POST['remember_me']) ? time() + 3600*24*30 : time() + 3600*3;
            header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
            setcookie("fusion_user", $cookie_value, $cookie_exp, "/", "", "0");
            redirect(BASEDIR."setuser.php?user=".$data['user_name'], "script");
         }
      } elseif ($data['user_status'] == 1) {
         redirect(BASEDIR."setuser.php?error=1", "script");
      } elseif ($data['user_status'] == 2) {
         redirect(BASEDIR."setuser.php?error=2", "script");
      }
   } else {
      redirect(BASEDIR."setuser.php?error=3");
   }
}






Ieskokite...

if (isset($_COOKIE['fusion_user'])) {
   $cookie_vars = explode(".", $_COOKIE['fusion_user']);
   $cookie_1 = isNum($cookie_vars['0']) ? $cookie_vars['0'] : "0";
   $cookie_2 = (preg_match("/^[0-9a-z]{32}$/", $cookie_vars['1']) ? $cookie_vars['1'] : "");
   $result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='$cookie_1' AND user_password='$cookie_2'");
   unset($cookie_vars,$cookie_1,$cookie_2);
   if (dbrows($result) != 0) {
      $userdata = dbarray($result);
      if ($userdata['user_status'] == 0) {
         if ($userdata['user_theme'] != "Default" && file_exists(THEMES.$userdata['user_theme']."/theme.php")) {
            define("THEME", THEMES.$userdata['user_theme']."/");
         } else {
            define("THEME", THEMES.$settings['theme']."/");
         }
         if ($userdata['user_offset'] <> 0) {
            $settings['timeoffset'] = $settings['timeoffset'] + $userdata['user_offset'];
         }
         if (empty($_COOKIE['fusion_lastvisit'])) {
            setcookie("fusion_lastvisit", $userdata['user_lastvisit'], time() + 3600, "/", "", "0");
            $lastvisited = $userdata['user_lastvisit'];
         } else {
            $lastvisited = $_COOKIE['fusion_lastvisit'];
         }
      } else {
         header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
         setcookie("fusion_user", "", time() - 7200, "/", "", "0");
         setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
         redirect(BASEDIR."index.php", "script");
      }
   } else {
      header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
      setcookie("fusion_user", "", time() - 7200, "/", "", "0");
      setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
      redirect(BASEDIR."index.php", "script");
   }
} else {
   define("THEME", THEMES.$settings['theme']."/");
   $userdata = "";   $userdata['user_level'] = 0; $userdata['user_rights'] = ""; $userdata['user_groups'] = "";
}




...keiskite i...

if (isset($_COOKIE['fusion_user'])) {
   $cookie_vars = explode(".", $_COOKIE['fusion_user']);
   $cookie_1 = isNum($cookie_vars['0']) ? $cookie_vars['0'] : "0";
   $cookie_2 = (preg_match("/^[0-9a-z]{32}$/", $cookie_vars['1']) ? $cookie_vars['1'] : "");
   $result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='$cookie_1' AND user_password='$cookie_2'");
   unset($cookie_vars,$cookie_1,$cookie_2);
   if (dbrows($result) != 0) {
      $userdata = dbarray($result);
      if ($userdata['user_status'] == 0) {
         if ($userdata['user_level'] > 101) {
             if (sha1($userdata['user_password']) != $_SESSION['auth']) {
               header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
               setcookie("fusion_user", "", time() - 7200, "/", "", "0");
               setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
               redirect(BASEDIR."index.php", "script");
            }
         }
         if ($userdata['user_theme'] != "Default" && file_exists(THEMES.$userdata['user_theme']."/theme.php")) {
            define("THEME", THEMES.$userdata['user_theme']."/");
         } else {
            define("THEME", THEMES.$settings['theme']."/");
         }
         if ($userdata['user_offset'] <> 0) {
            $settings['timeoffset'] = $settings['timeoffset'] + $userdata['user_offset'];
         }
         if (empty($_COOKIE['fusion_lastvisit'])) {
            setcookie("fusion_lastvisit", $userdata['user_lastvisit'], time() + 3600, "/", "", "0");
            $lastvisited = $userdata['user_lastvisit'];
         } else {
            $lastvisited = $_COOKIE['fusion_lastvisit'];
         }
      } else {
         header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
         setcookie("fusion_user", "", time() - 7200, "/", "", "0");
         setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
         redirect(BASEDIR."index.php", "script");
      }
   } else {
      header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
      setcookie("fusion_user", "", time() - 7200, "/", "", "0");
      setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
      redirect(BASEDIR."index.php", "script");
   }
} else {
   define("THEME", THEMES.$settings['theme']."/");
   $userdata = "";   $userdata['user_level'] = 0; $userdata['user_rights'] = ""; $userdata['user_groups'] = "";
}




Nu va, 2 trecdaliai darbo jau atlikta. dabar atsidarykite config.php faila ir irasykite stai toki koda...

$sess_pass = array(
   1 => "873d2aad2f88378495",
   "82abd10aa0e127a",
   "9e03af998fcbf8e9fb2239ad1a6",
   "bdcdfbef42a632b498a",
   "3bc61d71b9a6fcf2cd70adae8645ce",
   "65f4debf4c0ca223b970",
   "dbb3d4926171df04272470279f191b95ddd",
   "b75641f96a7945ca93277c716b4c",
   "ca99ce3e3de8ecd5489a7f931410",
   "1f4b6042c9462fa",
   "e8b8ad049f4db4a0f9a19c0f00f1",
   "938ef80e221e5f6f24a8c9d440d1",
   "2f7b5d2f166d43fef05c89467b4b4b5",
   "7c8a7111990bdf8af36a6d7c21a9584181",
   "c403c40c683c3f2c9f64d32385a59c4aca177",
   "27c44675eef89d87a67a2db8881b2e48c4b1",
   "88498ca98a5d2f93bf0294",
   "8a586eefcd4153ed3d85adbc",
   "22b7eca41574532b3f3036031f2f57e9a33a",
   "3ff80086181fdf06435645333edff4",
   "c3169f09d228de96736f8c",
   "0216f3e35f5587b7c68",
   "9f5de4a5f7481fae010103dc5",
   "1e823101cfdd0ff6cc9e149c393f026",
   "ccb39a50ee77a6619529660195d1e8025",
   "06b9c62d9179bad1c52d712c",
   "19cc6020b94f8a15f9f2ed7b542",
   "a32ff2b5a02bc080f6a44d024ffb4d8",
   "d1ead03cfa66a81bd32bab8567",
   "75e0ee77bd97b01e0eabed566b2150d04"
);




Tas kas nuspalvinta raudonai, butinai keiskite, nes kitu atveju si apsauga nebus veiksminga.

P.S. Rytoj galbut pristatysiu dar viena naudinga apsauga nuo bruteforce ataku.


Redagavo BloodKiller 2007 Rugp. 4 20:08:38
2007 Rugp. 4 18:08:45          2 žinutė iš 18
Spausdinti pranešimą
geras bet tingiu rasyt

2007 Rugp. 4 18:08:18          3 žinutė iš 18
Spausdinti pranešimą
Aš pasidarysiu šypsosi Šauniai padirbėjaimerkia akį
2007 Rugp. 4 18:08:32          4 žinutė iš 18
Spausdinti pranešimą
Šaunu, gal į straipsnius?
2007 Rugp. 4 18:08:54          5 žinutė iš 18
Spausdinti pranešimą
gerai sugalvota;) pasinaudosiu butinai šypsosi

<---- Mano katino vardas Rintis. | Mokslas.tk - Susprogdink kaimyną.
2007 Rugp. 4 18:08:05          6 žinutė iš 18
Spausdinti pranešimą
rtz parašė:
Šaunu, gal į straipsnius?


Galima. šypsosi

2007 Rugp. 4 19:08:01          7 žinutė iš 18
Spausdinti pranešimą
Mldc bloodmerkia akį taip ir toliau
2007 Rugp. 4 19:08:53          8 žinutė iš 18
Spausdinti pranešimą
o kur raudonai nuspalvinta as biski nesupratau i ka keisti ? galvoja

2007 Rugp. 4 19:08:28          9 žinutė iš 18
Spausdinti pranešimą
į ką nori, ten tavo slaptažodžiai kaip supratau šypsosi
2007 Rugp. 4 20:08:47          10 žinutė iš 18
Spausdinti pranešimą
Padariau viską pagal nurodymus, bet man neveikia. Bandau prisijungti su savo login ir pass, bet visada rašo, kad neteisingas slaptažodis
2007 Rugp. 4 22:08:56          11 žinutė iš 18
Spausdinti pranešimą
o rimciau ten kur tas raudonas ten irgi turi buti tokie 9e03af998fcbf8e9fb2239ad1a6 kodai? neuztektu jai as pakeisciau pora skaitmenu ar jie issivercia ir reishkia kokius tai zodzius?

2007 Rugp. 4 23:08:46          12 žinutė iš 18
Spausdinti pranešimą
Lordcraft parašė:
o rimciau ten kur tas raudonas ten irgi turi buti tokie 9e03af998fcbf8e9fb2239ad1a6 kodai? neuztektu jai as pakeisciau pora skaitmenu ar jie issivercia ir reishkia kokius tai zodzius?


Iskodavau ten parasyta "lordcraft idiotas"

keisk i md5("lordcraft debilas");

2007 Rugp. 7 14:08:46          13 žinutė iš 18
Spausdinti pranešimą
Man irgi būna tas pats kaip ir Qrmiui.be žado

2007 Rugs. 30 09:09:53          14 žinutė iš 18
Spausdinti pranešimą
Qrmiz parašė:
Padariau viską pagal nurodymus, bet man neveikia. Bandau prisijungti su savo login ir pass, bet visada rašo, kad neteisingas slaptažodis


Man ir tas pats blogai
2007 Rugs. 30 10:09:43          15 žinutė iš 18
Spausdinti pranešimą
nedaeina man su tais skaiciais i ka keist be žado
2007 Rugs. 30 22:09:53          16 žinutė iš 18
Spausdinti pranešimą
Reiks išbandyt, bet manau turėtu veikt.

2007 Spa. 27 11:10:46          17 žinutė iš 18
Spausdinti pranešimą
Man irgi tas pats, negaliu uzeit ...

2007 Spa. 27 12:10:36          18 žinutė iš 18
Spausdinti pranešimą
tai gal bandykit vesti tuos paswordus kur vietoi raudonu tada gal injunks as pabandysiu šypsosi
Peršokti į forumą: