1

Тема: New Log

В цій темі будуть описані зміни з приводу роботи форуму (технічні та організаційні). Попередня тема: Log (не оновлювалась).

Подякували: ktretyak, Bartash, Djalin3

2

Re: New Log

Виправлено баг з Media в приватних повідомленнях.
Оновлено іконку "Оцінка сайтів" (раніше стояла з розділу модератори), Алгоритми та структури даних (раніше не в тему була), іконка для Faq (раніше не було).
Виправлено баг з шапкою (баг був лише у модераторів).
Оновлено опис розділів.
Додаткові теги. Дякуємо P.Y.

Подякували: 0xDADA11C7, Bartash, Q-bart, Chemist-i4

3

Re: New Log

Тепер зображення, які вставляються через тег img, збергігаються на сервер replace.org.ua.
Максимальний розмір одного зображення: 1 Мб.
Дозволені формати: jpg, png, gif.

тест
http://replace.org.ua/extensions/om_images/img/54d363ff78255/2.png

P.S. Треба щоб стояла пташка напроти "зберігати зображення на сервер replace.org.ua".

4

Re: New Log

Що прописано в <script>'ах сайту rplace.org.ua, що всі сторінки так довго грузяться ?
В мене сторінки по 5-10 секунд висять при javascript.enabled=true.
А при виключених скріптах - спойлери не відкриваються.
Чи можна це якось виправити ?

5

Re: New Log

...аналогічно, йде якийсь запит і доводиться жмакати зупинити, щоб вже почати користуватись сторiнкою.

які вставляються через тег img, збергігаються на сервер replace.org.ua

оце добре, на стороннiх ресурсах зображення не вiчне.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог

6

Re: New Log

А який браузер?

7

Re: New Log

Replace написав:

А який браузер?

Mozilla Firefox 41.0.1

8

Re: New Log

Opera16.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог

9 Востаннє редагувалося leofun01 (26.10.2015 18:34:10)

Re: New Log

Актуально тільки для Mozilla Firefox:
Знайшов рішення проблеми з підтягуванням vk.com при відкриванні replace.org.ua.
Якщо javascript вимкнено:
При потребі відкрити спойлери, можна викликати контекстне меню, вибрати "Дослідити елемент" ("Inspect element"), вибрати будь-який елемент "<div class="spoiler-body">", перейти до стилю ".spoiler-body", в рядку "display: none;" замість "none" написати "block".
Якщо вам дуже треба мати ввімкнений javascript:
В "Додатки" ("Add-ons") завантажити "Block site", в "Block site"->Options->Add->Location:=vk.com->Ok.

Найкраще тримати відкритою вкладку "about:config".
В "Search:" прописати "javascript.enabled" і клікати по стрічках.

10 Востаннє редагувалося leofun01 (29.10.2015 13:44:34)

Re: New Log

Чи може користувач встановлювати колір тексту в тегах [соdе] [/соdе] ?
Якщо так, то як ?
Якщо ні, то як я можу допомогти реплейсу з цим ?

Найкращим варіантом було би зробити, щоб користувач писав щось типу такого:

[соdе=C++]
#include <stdio.h>
// ...
[/соdе]

[соdе=C#]
using System;
// ...
[/соdе]

[соdе=HTML]
<html>
<!-- ... -->
</html>
[/соdе]

і сервер обробляв би імена, додавав і зберігав контент з тегами, для яких кольори були б задані в файлі CSS.

Подякували: ostap34PHP1

11

Re: New Log

колір тексту в тегах [ соdе] [/ соdе]

ні, я скільки знаю, коде зроблено для того що б не форматувати текст
це робиться в quote, code сам повинен підсвітити текст, але це не повинен робити користувач

- Поганому трояну фаєрвол заважає
- Ніколи не програмуйте та не пийте пиво
Якщо ви з першого разу написали програму, в якій немає жодної помилки, повідомте про це системного програмісту: він виправить помилки в компіляторі
Подякували: leofun01, ostap34PHP2

12

Re: New Log

reverse2500 написав:

code сам повинен підсвітити текст, але це не повинен робити користувач

привильно, але сам соdе не підсвічує (наскільки я бачив), тому цікавить, як зробити, щоб підсвічував.

Подякували: ostap34PHP1

13

Re: New Log

Тепер в пошуку, "Нових повідомленнях", "Активних темах", "Темах без відповідей" не показуються теми з кошику для сміття.
Для модераторів: теми автоматично закриваються при перенесенні в кошик для сміття.

Подякували: FakiNyan, funivan, leofun01, Chemist-i, /KIT\5

14

Re: New Log

Додав в профіль: Github, SourceForge, Youtube.
Видалив: MSN, Yahoo, AIM Messanger.

Подякували: leofun01, Chemist-i, iovchynnikov3

15

Re: New Log

Кожен другий клік вилазить цим:
https://pic.co.ua/images/2016/01/30/4c0c2272f8d21625423162cc7e365524.png

Віддамся на один вечір в хороші дівочі руки.. не дорого, в у.о. .. Якщо сподобається, то залишуся безкоштовно назавжди..

16

Re: New Log

Хтось досить...

17

Re: New Log

Replace написав:

Хтось досить...

Москалі?

Віддамся на один вечір в хороші дівочі руки.. не дорого, в у.о. .. Якщо сподобається, то залишуся безкоштовно назавжди..

18 Востаннє редагувалося VTrim (30.01.2016 20:29:58)

Re: New Log

Є власний антидос.
Від потужних атак не врятує, але від школярів саме те. На PHP, автоматом банить IP через .htaccess

Подякували: ostap34PHP1

19

Re: New Log

class BanIP
{
  static $Interval; 
  static $Limit;
  static $Dir;

 static function setConnect($Interval, $Limit, $Dir) {

 self::$Interval = $Interval;
 self::$Limit = $Limit;
 self::$Dir = $Dir;

 $cVal = true;

   self::isIpLogs();
   self::isIpFile();

  $lIP = file(self::getRoot().$Dir.self::getIp().'.dat');

  $cIP = count($lIP);

  if($cIP >= $Limit) {
  
  for ($i=0; $i<$cIP; ++$i) $cVal = $cVal && ($lIP[$i+1] - $lIP[$i]) < $Interval;

  if ($cVal) {
  
  file_put_contents(self::getRoot().'/.htaccess', PHP_EOL.'deny from '.self::getIp().PHP_EOL, FILE_APPEND);

  unlink(self::getRoot().$Dir.self::getIp().'.dat');

  exit('Ваш IP заблокований');

  }

  file_put_contents(self::getRoot().$Dir.self::getIp().'.dat', null);

  }

  file_put_contents(self::getRoot().$Dir.self::getIp().'.dat', microtime(true).PHP_EOL, FILE_APPEND);

  return;

}

 private static function getRoot() {

   return $_SERVER['DOCUMENT_ROOT'];

 }

 private static function getIp() {

   if (!empty($_SERVER['HTTP_CLIENT_IP'])) {

      return $_SERVER['HTTP_CLIENT_IP'];

  }

   elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

      return $_SERVER['HTTP_X_FORWARDED_FOR'];

      }

   else {

      return $_SERVER['REMOTE_ADDR'];

      }
   } 

  private static function isIpLogs() {

   if(!is_dir(self::getRoot().self::$Dir)) {

      mkdir(self::getRoot().self::$Dir); 

      file_put_contents(self::getRoot().self::$Dir.'.htaccess', 'deny from all');
    
    }
  
  return;

  }

  private static function isIpFile() {

   if (!file_exists(self::getRoot().self::$Dir.self::getIp().'.dat'))

  file_put_contents(self::getRoot().self::$Dir.self::getIp().'.dat', null);

  return;

  }

  static function unban($ip) {

  $file = file(self::getRoot().'/.htaccess');

  $ip_str = 'deny from ' . $ip;

  $str_file = implode($file);
 
  if (strstr($str_file, $ip_str)) {

    $del_ip = str_replace($ip_str, null, $str_file);

    file_put_contents(self::getRoot().'/.htaccess', $del_ip);

    echo 'IP розблокований';

   } else {

    echo 'Такий IP не заблокований';

  } 

  return;

  }

}

BanIP::setConnect(0.8, 5, '/ip_logs/');
//якщо є 5 запитів з інтервалом менше 0.8 сек.,то бан IP.
// /ip_logs/ папка тимчасових логів запитів
Подякували: leofun01, Replace2

20

Re: New Log

HetmanNet написав:
Replace написав:

Хтось досить...

Москалі?

Ні. Свої. Ось цей хлопець:
188.239.22.85


Було 18814239 запитів до сторінки /login/. Можливо хотів зламати мій пароль та все видалити.
Не ясно лише, що я йому зробив.

VTrim забанив його аккаунт-дубль (coder), після цього все почалось. Раніше він був відомий під ніком Patron. Багато допомогав з форумом на початку існування.