Categorie protejata de parola

Vezi subiectul anterior Vezi subiectul urmator In jos

Categorie protejata de parola

Mesaj Scris de Shawn la data de Mier 16 Sept - 16:35

#1 - Categorie protejata de parola !


Am vazut ca tot mai multi doriti sa va faceti categorii protejate de parola, uite ca vine si solutia, acest cod este unul beta (inca in teste ).

Pentru inceput avem nevoie de 2 coduri, unul jscript si altul html.

Pasul 1:
Panou de administrare ~> General ~> Forum ~> Categorii si forumuri:
Selectam un forum si la descriere adaugam:
Cod:
<div id="protect">
   <input value="" maxlength="10" name="staffonly" type="password" /><input value="Go" name="onclick" type="submit" />
</div>

Pasul 2:
Panou de administrare ~> Afisare ~> Imagini si culori ~> Culori ~> Foaia de stil CSS:
Cod:
span.info.succes {
    margin-top: 2px;
    color: #5CAD57;
    padding-top: 2px;
    position: relative;
    top: 5px;
}

span.info.error {
    margin-top: 2px;
    color: #EF206C;
    padding-top: 2px;
    position: relative;
    top: 5px;
}

Pasul 3:
Panou de administrare ~> Module ~> HTML & JAVASCRIPT ~> Gestiunea codurilor JavaScript ~> Coduri JavaScript ~> Creeaza un cod JavaScript:

Titlu * : Forum Protect
Amplasare: Toate paginile
Cod JavaScript * :
Cod:
var config = {members:[1, 3], url:"/f2-", cat:"/f2-", passwd:"enter", error:"Typed incorrect password ! Try again.", succes:"Entered password is correct !"};
function passCheck() {
  var a = config.passwd;
  if ($('input[type="password"][name="staffonly"]').val() == a) {
    return $('input[type="password"][name="staffonly"]').val(""), $("#protect").append('<br /><span class="info succes">Corerct password <br /> ' + config.succes + "</span>"), setTimeout(function() {
      window.location = "http://" + window.location.host + config.url;
    }, 3E3), !0;
  }
  $("#protect").append('<br /><span class="info error">Corerct password <br /> ' + config.error + "</span>");
  setTimeout(function() {
    $(".info, br:eq(0)", $("#protect")).remove();
  }, 1500);
  $('input[type="password"][name="staffonly"]').val("");
  return !1;
}
function onlyPass() {
  if (!isNaN(_userdata.user_id) && "undefined" != typeof _userdata.user_id) {
    for (i = 0;i < config.members.length;i++) {
      if (config.members[i] == _userdata.user_id) {
        return $("#protect").show(), console.log("Member id to show: " + _userdata.user_id), !1;
      }
      $("#protect").remove();
    }
  }
}
function protectPage() {
  if (config.url == window.location.pathname || config.cat == window.location.pathname) {
    for (i = 0;i < config.members.length;i++) {
      if (config.members[i] == _userdata.user_id) {
        return !1;
      }
      window.location = "http://" + window.location.host;
    }
  }
}
$(function() {
  onlyPass();
  protectPage();
  $('input[name="onclick"]').on("click", function(a) {
    var b = $('input[name="staffonly"]').val();
    passCheck(b);
    a.preventDefault();
  });
});
sau codul minimizat !
Cod:
var config={members:[1,3],url:"/f2-",cat:"/f2-",passwd:"changeme",error:"Typed incorrect password ! Try again.",succes:"Entered password is correct !"};
function passCheck(){var a=config.passwd;if($('input[type="password"][name="staffonly"]').val()==a)return $('input[type="password"][name="staffonly"]').val(""),$("#protect").append('<br /><span class="info succes">Corerct password <br /> '+config.succes+"</span>"),setTimeout(function(){window.location="http://"+window.location.host+config.url},3E3),!0;$("#protect").append('<br /><span class="info error">Corerct password <br /> '+config.error+"</span>");setTimeout(function(){$(".info, br:eq(0)",$("#protect")).remove()},
1500);$('input[type="password"][name="staffonly"]').val("");return!1}function onlyPass(){if(!isNaN(_userdata.user_id)&&"undefined"!=typeof _userdata.user_id)for(i=0;i<config.members.length;i++){if(config.members[i]==_userdata.user_id)return $("#protect").show(),console.log("Member id to show: "+_userdata.user_id),!1;$("#protect").remove()}}
function protectPage(){if(config.url==window.location.pathname||config.cat==window.location.pathname)for(i=0;i<config.members.length;i++){if(config.members[i]==_userdata.user_id)return!1;window.location="http://"+window.location.host}}$(function(){onlyPass();protectPage();$('input[name="onclick"]').on("click",function(a){var b=$('input[name="staffonly"]').val();passCheck(b);a.preventDefault()})});

Sfaturi / Ajutor:


Zona editabila:
members: // Unde este [1, 3], sunt id-urile membrilor care vor avea acces la categorie !
url: '' // Url unde va fi trimis utilizatorul dupa ce va introduce parola corecta !
cat: '' // Un mic loc pentru inca un test !
passwd: '' // Aici important e sa schimbati parola actuala, aia cu 'changeme'.


Succes !

Shawn
Moderator
Moderator

masculin

Mesaje : 676
Varsta : 22
Localizare : C:\system32
Data de inscriere : 10/08/2015
Multumiri : 77
Niciun avertisment

http://help.forumgratuit.ro

Sus In jos

Re: Categorie protejata de parola

Mesaj Scris de Shawn la data de Joi 8 Oct - 10:54

Update:
Versiunea v2 a acestui cod este gata Fericit

Changelog:

  • Codul editat integral, adaugate si scose unele coduri
  • Structura codului este mai complexa, acum codul foloseste HTML5 Storage.
  • Acum nu mai necesita sa adaugati elemente HTML in descriere
  • Doar membri cu acces si parola vor putea scrie in categorie


Cod:
(function(j) {
   "use strict";
   ("Copyright (c) 2015 MyScripts.ml, forum codes. All right reserved");
   var i, b;
  
   /* Setari pentru protejare */
   var settings = {
      users: [1], // Utilizatori care vor avea acces in categorie !
      forums: ['link categorie'],
      pddws: 'changeme' // Parola trebuie schimbata ! (Din motive de securitate !)
   };
   window.set = settings;
  
   function testUser(user_id) {
      for(i = 0; i < set.users.length; i++) if(user_id == set.users[i]) return true;
   };
  
   function testCat(a) {
      for(i = 0; i < set.forums.length; i++) {
         b = set.forums[i]; a = b;
      }
      return a;
   };
  
   j(function($) {
      if(typeof(_userdata) == "undefined") return;
      var u = _userdata, c = document.getElementById('btn'), storage = window.localStorage;
      if(u.session_logged_in == 1) {
            storage.loggedCat = 0;
         /* Verificare categorie, testate parametri */
         if(/\/f(\d+)-/.test(window.location.pathname) && set.forums[0] == window.location.pathname && testUser(u.user_id) !== true) {window.location = "http://" + window.location.host; }
        
         if(storage && set.forums[0] == window.location.pathname && storage.loggedCat == "0" && testUser(u.user_id) == true) {
            var x = prompt('Pentru a vedea sau scrie in aceasta categorie trebuie sa te loghezi', '');
            if(storage.loggedCat == "0" && testUser(u.user_id) == true) {
               if(x == set.pddws) {
                  console.log('succes');
                  storage.loggedCat = 0;
               } else {
                  window.location = "http://" + window.location.host;
               }
            } else {
               window.location = "http://" + window.location.host;
            }
         }
      } else {
            if(storage && /\/f(\d+)-/.test(window.location.pathname) && set.forums[0] == window.location.pathname && testUser(u.user_id) !== true) {window.location = "http://" + window.location.host; }
         }
         var test = storage.loggedCat;
         /* if(test) {
            storage.storageSetup = JSON.stringify({"init": 0, "noShow": 0});
            var getInstall = JSON.parse(storage.storageSetup);
            if(!getInstall.init && !getInstall.noShow) {
               alert("Codul sa creat cu succes, acum este functionabil 100%.\nMultumesc ca folosesti acest cod creat de mine !");
               storage.storageSetup = JSON.stringify({"init": 1, "noShow": 1});
            }
         } */
   });
}(jQuery));

In curand versiunea v3 a acestui cod.

Facilitati v2 - v3

  • v2 - Cod rescris integaral
  • v3 - Cod rescris cu putin update (v2+)
  • v3 - In loc de id-uri acum restrictiile vor fii pe Nume (["SSYT", "Zeus"])
  • v3 - Permisiuni speciale la unele categorii ! ({"forum1": "/link-forum", "forumID": "/link-forum"})

Shawn
Moderator
Moderator

masculin

Mesaje : 676
Varsta : 22
Localizare : C:\system32
Data de inscriere : 10/08/2015
Multumiri : 77
Niciun avertisment

http://help.forumgratuit.ro

Sus In jos

Re: Categorie protejata de parola

Mesaj Scris de Shawn la data de Dum 8 Noi - 11:21

Versiunea v2 inactiva, proiect momentan indisponibil, în curând update la versiune.

#SSYT

Shawn
Moderator
Moderator

masculin

Mesaje : 676
Varsta : 22
Localizare : C:\system32
Data de inscriere : 10/08/2015
Multumiri : 77
Niciun avertisment

http://help.forumgratuit.ro

Sus In jos

Re: Categorie protejata de parola

Mesaj Scris de wizzykhaifa la data de Vin 20 Noi - 22:41

mersi !

wizzykhaifa
Membru nou

Mesaje : 3
Varsta : 17
Data de inscriere : 20/11/2015
Multumiri : 0
Niciun avertisment

Sus In jos

Re: Categorie protejata de parola

Mesaj Scris de Shawn la data de Joi 10 Dec - 11:55

Update: v3.0x


Iata si versiunea mult asteptata, aceasta versiune vine cu noi inbunatatiri, cele mai bune facilitati pentru acest cod.

Changelog:

  • + Cod partial rescris, adaugate si scoase anumite elemente.
  • + Acum ID-urile au fost inlocuite cu Nick name-uri
  • + Acum este posibil sa adaugi 2+ forumuri care pot fi protejate
  • + Daca parola nu este schimbata apare o alerta si codul nu va functiona
  • + Anumite buguri au fost reparate
  • + Anumite elemente au fost rescrise integral.


Panou > Module > HTML & JAVASCRIPT > Gestiunea codurilor javascript > Creati un nou cod JavaScript

  • Titlu: Module: Protect Category
  • Amplasare: Toate paginile
  • Cod:

    Cod:

    (function(j) {
       "use strict";
       ("Copyright (c) 2015 SSYT, forum codes. All right reserved");
       var i, b;
      
       /* Setari pentru protejare */
       var settings = {
          users: ["Nume", "Nume", "Nume"],
          forums: ["/fID-link-1", "/fID-link-2"],
          pddws: 'changeme'
       };
       window.set = settings;
       j(function($) {
          var u = _userdata, storage = window.localStorage;
          
          function testUser(username) {
             for(i = 0; i < set.users.length; i++) if(username == set.users[i]) return true;
          };

          function testCategory(id) {
             if(/\/f(\d+)-/.test(window.location.pathname) && set.forums[id] === window.location.pathname && testUser(u.username) != true) { window.location = "http://" + window.location.host; return false; } else { return true }
          };

          function testSucces(id) {
             if(set.pddws !== "changeme" && storage && set.forums[id] === window.location.pathname && testUser(u.username) == true) {return true;} else {return false;};
          };
          
          if(typeof(_userdata) == "undefined") return;
          
          if(u.session_logged_in == 1) {
             /* Verificare categorie, testate parametri */
             if(testCategory(0)) { console.log("succes test category id:" + set.forums[0]); };
             if(testCategory(1)) { console.log("succes test category id:" + set.forums[1]); };
             if(set.pddws === "changeme") return alert("Trebuie schimbata parola default !");
             if(testSucces(0) == true || testSucces(1) == true) {
                var x = prompt('Pentru a vedea sau scrie in aceasta categorie trebuie sa te loghezi', '');
                if(testUser(u.username) == true) {
                   if(x === set.pddws) {
                      console.log('succes');
                   } else {
                      window.location = "http://" + window.location.host;
                   }
                } else {
                   window.location = "http://" + window.location.host;
                }
             }
          } else {
                if(storage && /\/f(\d+)-/.test(window.location.pathname) && set.forums[0] == window.location.pathname && testUser(u.username) !== true) {window.location = "http://" + window.location.host; }
             }
       });
    }(jQuery));



Daca intampinati probleme postati in zona de suport > Probleme legate de un script (cod)

Shawn
Moderator
Moderator

masculin

Mesaje : 676
Varsta : 22
Localizare : C:\system32
Data de inscriere : 10/08/2015
Multumiri : 77
Niciun avertisment

http://help.forumgratuit.ro

Sus In jos

Vezi subiectul anterior Vezi subiectul urmator Sus

- Subiecte similare

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum