Forum gratuit: forum de suport al utilizatorilor
Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.

Categorie protejata de parola

Vezi subiectul anterior Vezi subiectul urmator In jos

  • 0

Categorie protejata de parola Empty Categorie protejata de parola

Mesaj Scris de SSYT Mier Sept 16, 2015 4:35 pm

#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 !
SSYT

SSYT
Membru onorific
Membru onorific

Mesaje : 1424
Varsta : 29
Localizare : Romania, localhost:80
Data înscrierii : 10/08/2015
Mulțumiri : 199
Opera phpBB3

https://help.forumgratuit.ro
SSYT a fost mulțumit de autorul acestui subiect.
  • 0

Categorie protejata de parola Empty Re: Categorie protejata de parola

Mesaj Scris de SSYT Joi Oct 08, 2015 10:54 am

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"})
SSYT

SSYT
Membru onorific
Membru onorific

Mesaje : 1424
Varsta : 29
Localizare : Romania, localhost:80
Data înscrierii : 10/08/2015
Mulțumiri : 199
Opera phpBB3

https://help.forumgratuit.ro
SSYT a fost mulțumit de autorul acestui subiect.

Categorie protejata de parola Empty Re: Categorie protejata de parola

Mesaj Scris de SSYT Dum Noi 08, 2015 11:21 am

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

#SSYT
SSYT

SSYT
Membru onorific
Membru onorific

Mesaje : 1424
Varsta : 29
Localizare : Romania, localhost:80
Data înscrierii : 10/08/2015
Mulțumiri : 199
Opera phpBB3

https://help.forumgratuit.ro
SSYT a fost mulțumit de autorul acestui subiect.

Categorie protejata de parola Empty Re: Categorie protejata de parola

Mesaj Scris de wizzykhaifa Vin Noi 20, 2015 10:41 pm

mersi !
wizzykhaifa

wizzykhaifa
Membru nou

Mesaje : 3
Varsta : 24
Data înscrierii : 20/11/2015
Mulțumiri : 0
Internet Explorer phpBB3

wizzykhaifa a fost mulțumit de autorul acestui subiect.

Categorie protejata de parola Empty Re: Categorie protejata de parola

Mesaj Scris de SSYT Joi Dec 10, 2015 11:55 am

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)
SSYT

SSYT
Membru onorific
Membru onorific

Mesaje : 1424
Varsta : 29
Localizare : Romania, localhost:80
Data înscrierii : 10/08/2015
Mulțumiri : 199
Opera phpBB3

https://help.forumgratuit.ro
SSYT a fost mulțumit de autorul acestui subiect.

Vezi subiectul anterior Vezi subiectul urmator Sus

- Subiecte similare

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum