1
Changeset 961 – MultiMag

Changeset 961


Ignore:
Timestamp:
Jan 25, 2018, 3:41:09 PM (4 months ago)
Author:
blacklight
Message:
  • Модуль KCAPTCHA обновлёно до версии 2
  • Добавлен сбор статистики установки обновлений
Location:
trunk
Files:
3 added
23 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/cli/db_update.php

    r958 r961  
    4949}
    5050
    51 try {
     51try {   
    5252    $patches = scandir($CONFIG['location'] . "/db_patches/");
    5353    if (!is_array($patches))
     
    5959        else
    6060            $db_version = 0;
     61        $data = "&s={$CONFIG['site']['name']}&e={$CONFIG['site']['admin_email']}&db=$db_version&mr=".MULTIMAG_REV;
     62        if(isset($CONFIG['site']['forbid_notify_update']) && $CONFIG['site']['forbid_notify_update'] ) {}
     63        else @file_get_contents("https://tndproject.org/mstat.php?m=s".$data);
    6164        if ($db_version != MULTIMAG_REV) {
    6265            foreach ($patches as $patch) {
     
    6972                }
    7073            }
     74            if(isset($CONFIG['site']['forbid_notify_update']) && $CONFIG['site']['forbid_notify_update'] ) {}
     75            else @file_get_contents("https://tndproject.org/mstat.php?m=e".$data);
    7176        } else
    7277            break;
  • trunk/web/include/modules/site/message.php

    r958 r961  
    5252            Текст сообщения:<br>
    5353            <textarea name='text' rows='5' cols='40'>".html_out($text)."</textarea><br>
    54             <b style='color:#c00'>Не забудте указать информацию для обратной связи!</b><br>";
     54            <b style='color:#c00'>Не забудте указать информацию для обратной связи!</b><br><br>";
    5555        if($show_captcha) {
    56             $ret.="Подтвердите что вы не робот, введя текст с картинки:<br>
    57             <img src='/kcaptcha/index.php'><br><input type='text' name='img'><br>";
     56            $ret.="Подтвердите что вы не робот, введя текст с картинки:<br>"
     57                    . "<small><a href='/login.php?mode=reg'>Зарегистрируйтесь</a> или <a href='/login.php'>войдите</a> на сайт (можно через социальную сеть) - и код вводить здесь не потребуется!</small><br>"
     58                    . "<img src='/kcaptcha/index.php'><br><input type='text' name='img'><br>";
    5859        }
    5960        $ret.="<input type='submit' value='Отправить'>
     
    7273            Желаемая дата и время звонка:<br>
    7374            <small>Желательно запрашивать звонок в рабочее время магазина</small><br>
    74             <input type='text' name='call_date' value='{$form_data['call_date']}'><br>";
     75            <input type='text' name='call_date' value='{$form_data['call_date']}'><br><br>";
    7576        if($show_captcha) {
    76             $ret .= "Подтвердите что вы не робот, введя текст с картинки:<br><img src='/kcaptcha/index.php'><br><input type='text' name='img'><br>";
     77            $ret.="Подтвердите что вы не робот, введя текст с картинки:<br>"
     78                    . "<small><a href='/login.php?mode=reg'>Зарегистрируйтесь</a> или <a href='/login.php'>войдите</a> на сайт (можно через социальную сеть) - и код вводить здесь не потребуется!</small><br>"
     79                    . "<img src='/kcaptcha/index.php'><br><input type='text' name='img'><br>";
    7780        }
    7881        $ret .= "<button type='submit'>Отправить запрос</button></form>";
  • trunk/web/kcaptcha/index.php

    r200 r961  
    11<?php
    22
    3 error_reporting (E_ALL);
     3include('kcaptcha.php');
     4session_start();
     5$captcha = new KCAPTCHA();
     6$_SESSION['captcha_keystring'] = $captcha->getKeyString();
    47
    5 /* Using:
    6 
    7         <?php
    8         session_start();
    9         ?>
    10         <form action="./" method="post">
    11         <p>Enter text shown below:</p>
    12         <p><img src="PATH-TO-THIS-SCRIPT?<?php echo session_name()?>=<?php echo session_id()?>"></p>
    13         <p><input type="text" name="keystring"></p>
    14         <p><input type="submit" value="Check"></p>
    15         </form>
    16         <?php
    17         if(count($_POST)>0){
    18                 if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']){
    19                         echo "Correct";
    20                 }else{
    21                         echo "Wrong";
    22                 }
    23         }
    24         unset($_SESSION['captcha_keystring']);
    25         ?>
    26 
    27 */
    28 
    29 include('kcaptcha.php');
    30 
    31 if(isset($_COOKIE[session_name()])){
    32         session_start();
    33 }
    34 
    35 $captcha = new KCAPTCHA();
    36 
    37 if($_COOKIE[session_name()]){
    38         $_SESSION['captcha_keystring'] = $captcha->getKeyString();
    39 }
    40 
    41 ?>
  • trunk/web/kcaptcha/kcaptcha.php

    r83 r961  
    11<?php
    22
    3 # KCAPTCHA PROJECT VERSION 1.2.6
     3# KCAPTCHA PROJECT VERSION 2.1
    44
    55# Automatic test to tell computers and humans apart
    66
    7 # Copyright by Kruglov Sergei, 2006, 2007, 2008
     7# Copyright by Kruglov Sergei, 2006, 2007, 2008, 2011, 2016
    88# www.captcha.ru, www.kruglov.ru
    99
    1010# System requirements: PHP 4.0.6+ w/ GD
    11 
    12 # KCAPTCHA is a free software. You can freely use it for building own site or software.
     11# NOTE! decomment string "function KCAPTCHA(){" and comment "function __construct(){" to complify with php below 5.0
     12
     13# KCAPTCHA is a free software. You can freely use it for developing own site or software.
    1314# If you use this software as a part of own sofware, you must leave copyright notices intact or add KCAPTCHA copyright notices to own.
    1415# As a default configuration, KCAPTCHA has a small credits text at bottom of CAPTCHA image.
     
    1819
    1920class KCAPTCHA{
    20 
    2121        // generates keystring and image
    22         function KCAPTCHA(){
     22       
     23        //function KCAPTCHA(){ // old PHP declaration
     24        function __construct(){ // new PHP declaration
    2325
    2426                require(dirname(__FILE__).'/kcaptcha_config.php');
     
    4951                        $font=imagecreatefrompng($font_file);
    5052                        imagealphablending($font, true);
     53
    5154                        $fontfile_width=imagesx($font);
    5255                        $fontfile_height=imagesy($font)-1;
     56                       
    5357                        $font_metrics=array();
    5458                        $symbol=0;
     
    8286                        // draw text
    8387                        $x=1;
     88                        $odd=mt_rand(0,1);
     89                        if($odd==0) $odd=-1;
    8490                        for($i=0;$i<$length;$i++){
    8591                                $m=$font_metrics[$this->keystring{$i}];
    8692
    87                                 $y=mt_rand(-$fluctuation_amplitude, $fluctuation_amplitude)+($height-$fontfile_height)/2+2;
     93                                $y=(($i%2)*$fluctuation_amplitude - $fluctuation_amplitude/2)*$odd
     94                                        + mt_rand(-round($fluctuation_amplitude/3), round($fluctuation_amplitude/3))
     95                                        + ($height-$fontfile_height)/2;
    8896
    8997                                if($no_spaces){
     
    9199                                        if($i>0){
    92100                                                $shift=10000;
    93                                                 for($sy=7;$sy<$fontfile_height-20;$sy+=1){
     101                                                for($sy=3;$sy<$fontfile_height-10;$sy+=1){
    94102                                                        for($sx=$m['start']-1;$sx<$m['end'];$sx+=1){
    95103                                                        $rgb=imagecolorat($font, $sx, $sy);
     
    99107                                                                        $py=$sy+$y;
    100108                                                                        if($py>$height) break;
    101                                                                         for($px=min($left,$width-1);$px>$left-12 && $px>=0;$px-=1){
     109                                                                        for($px=min($left,$width-1);$px>$left-200 && $px>=0;$px-=1){
    102110                                                                        $color=imagecolorat($img, $px, $py) & 0xff;
    103                                                                                 if($color+$opacity<190){
     111                                                                                if($color+$opacity<170){ // 170 - threshold
    104112                                                                                        if($shift>$left-$px){
    105113                                                                                                $shift=$left-$px;
     
    125133                }while($x>=$width-10); // while not fit in canvas
    126134
     135                //noise
     136                $white=imagecolorallocate($font, 255, 255, 255);
     137                $black=imagecolorallocate($font, 0, 0, 0);
     138                for($i=0;$i<(($height-30)*$x)*$white_noise_density;$i++){
     139                        imagesetpixel($img, mt_rand(0, $x-1), mt_rand(10, $height-15), $white);
     140                }
     141                for($i=0;$i<(($height-30)*$x)*$black_noise_density;$i++){
     142                        imagesetpixel($img, mt_rand(0, $x-1), mt_rand(10, $height-15), $black);
     143                }
     144
     145               
    127146                $center=$x/2;
    128147
     
    148167                // amplitudes
    149168                $rand9=mt_rand(330,420)/110;
    150                 $rand10=mt_rand(330,450)/110;
     169                $rand10=mt_rand(330,450)/100;
    151170
    152171                //wave distortion
     
    201220                header('Cache-Control: post-check=0, pre-check=0', FALSE);
    202221                header('Pragma: no-cache');
    203                
    204222                if(function_exists("imagejpeg")){
    205223                        header("Content-Type: image/jpeg");
     
    219237        }
    220238}
    221 
    222 ?>
  • trunk/web/kcaptcha/kcaptcha_config.php

    r424 r961  
    77# symbols used to draw CAPTCHA
    88//$allowed_symbols = "0123456789"; #digits
    9 $allowed_symbols = "23456789abcdeghkmnpqsuvxyz"; #alphabet without similar symbols (o=0, 1=l, i=j, t=f)
     9//$allowed_symbols = "23456789abcdegkmnpqsuvxyz"; #alphabet without similar symbols (o=0, 1=l, i=j, t=f)
     10$allowed_symbols = "23456789abcdegikpqsvxyz"; #alphabet without similar symbols (o=0, 1=l, i=j, t=f)
    1011
    1112# folder with fonts
     
    1314
    1415# CAPTCHA string length
    15 $length = mt_rand(4,5); # random 5 or 6
     16$length = mt_rand(6,8); # random 5 or 6 or 7
    1617//$length = 6;
    1718
    18 # CAPTCHA image size (you do not need to change it, whis parameters is optimal)
     19# CAPTCHA image size (you do not need to change it, this parameters is optimal)
    1920$width = 180;
    20 $height = 50;
     21$height = 60;
    2122
    22 # symbol's vertical fluctuation amplitude divided by 2
    23 $fluctuation_amplitude = 4;
     23# symbol's vertical fluctuation amplitude
     24$fluctuation_amplitude = 9;
     25
     26#noise
     27//$white_noise_density=0; // no white noise
     28$white_noise_density=1/5;
     29//$black_noise_density=0; // no black noise
     30$black_noise_density=1/10;
    2431
    2532# increase safety by prevention of spaces between symbols
    26 $no_spaces = false;
     33$no_spaces = true;
    2734
    2835# show credits
    2936$show_credits = false; # set to false to remove credits line. Credits adds 12 pixels to image height
    30 //$credits = 'www.captcha.ru'; # if empty, HTTP_HOST will be shown
     37$credits = 'www.captcha.ru'; # if empty, HTTP_HOST will be shown
    3138
    3239# CAPTCHA image colors (RGB, 0-255)
    3340//$foreground_color = array(0, 0, 0);
    3441//$background_color = array(220, 230, 255);
    35 $foreground_color = array(mt_rand(0,150), mt_rand(0,150), mt_rand(0,150));
    36 $background_color = array(mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
     42$foreground_color = array(mt_rand(100,150), mt_rand(100,150), mt_rand(100,150));
     43$background_color = array(mt_rand(240,255), mt_rand(240,255), mt_rand(240,255));
     44
    3745
    3846# JPEG quality of CAPTCHA image (bigger is better quality, but larger file size)
    39 $jpeg_quality = 35;
    40 ?>
     47$jpeg_quality = 75;
Note: See TracChangeset for help on using the changeset viewer.