Joostina CMS / CMF v2.* API
  • Docs
  • Package
  • Class
  • Tree
  • Todo
Overview

Packages

  • Components
    • Acls
      • Models
        • Admin
        • Site
    • BlogCategory
      • Models
        • Admin
        • Site
    • Blogs
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Coder
      • Controllers
        • Admin
      • Models
        • Admin
    • Comments
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • CommentsCounter
      • Models
        • Admin
        • Site
    • Mainpage
      • Controllers
        • Site
    • News
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Pages
      • Controllers
        • Admin
        • Site
      • Models
        • Site
    • Search
      • Controllers
        • Site
    • Site
      • Controllers
        • Admin
        • Site
    • Sitemap
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
    • Test
      • Controllers
        • Site
    • Torrents
      • Controllers
        • Site
    • Users
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
  • Compression
  • Core
    • Libraries
      • Arhive
      • Array
      • Attached
      • Autoadmin
      • Autoloader
      • Benchmark
      • Breadcrumbs
      • Cache
      • Config
      • Cookie
      • Csrf
      • Database
        • Drivers
          • Interfaces
      • Datetime
      • Debug
      • Editor
      • Events
      • File
      • Filter
      • Flashmessage
      • Folder
      • Hit
      • Html
      • Image
      • Inflector
      • Inputfilter
      • Libraries
      • Mail
      • Module
      • Nestedset
      • Pager
      • Pages
      • Params
      • Randomizer
      • Request
      • RobotLoader
      • Route
      • Security
      • Session
      • Static
      • String
      • Text
      • Trash
      • Validate
  • Email
  • Extra
    • Libraries
      • Basket
  • Joostina
    • Controller
    • Core
    • Document
  • JSMin
  • Libraries
    • Extra
      • Basket
        • Models
          • Site
  • None
  • Plugins
    • Autoadmin
    • Editor
    • Sitemap
  • SimpleMail
  • Vendors
    • Libraries
      • Email

Classes

  • joosSecurity
 1: <?php defined('_JOOS_CORE') or exit();
 2: 
 3: /**
 4:  * Работа с проверками на безопасность
 5:  *
 6:  * @version    1.0
 7:  * @package    Core\Libraries
 8:  * @subpackage Security
 9:  * @category   Libraries
10:  * @author     Joostina Team <info@joostina.ru>
11:  * @copyright  (C) 2007-2012 Joostina Team
12:  * @license    MIT License http://www.opensource.org/licenses/mit-license.php
13:  * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
14:  *
15:  * */
16: class joosSecurity
17: {
18:     /**
19:      * Проверка на флуд
20:      *
21:      * @param  string  $key      название ключа/события проверки
22:      * @param  int     $count    число допустимых запусков события
23:      * @param  int     $time     число секунд для лимита времени за которое разрешено число запусков события
24:      * @param  int     $ban_time время на котое ставится запрет для повторения события
25:      * @return boolean результат проверки
26:      */
27:     public static function is_flood($key, $count, $time, $ban_time)
28:     {
29:         $key_flood = md5('flud_' . md5($key));
30:         $key_still = md5('still' . md5($key));
31: 
32:         $cache = joosCache();
33: 
34:         if ($cache->get($key_still) == 1) {
35:             return false;
36:         }
37: 
38:         $tmp = $cache->get($key_flood);
39: 
40:         if ($tmp === false) {
41:             $cache->set($key_flood, 1, $time);
42:         } else {
43:             $cache->increment($key_flood);
44:         }
45: 
46:         // проверка не прошла, флуд.
47:         if ($tmp >= $count) {
48:             $cache->set($key_still, 1, $ban_time);
49: 
50:             return false;
51:         }
52: 
53:         return true;
54:     }
55: 
56: }
57: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team