Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Система Управлением Сайта | Народный SF Fusion
# 241 Тема: RE: censorwords
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 19 Сентября 2012, 14:56:45
Всем доброго времени суток! Возник вопрос. Два дня уже мучаюсь, не хватает знаний, прошу помощи: пытаюсь реализовать функцию censorwords в гостевой. Как уж не пробовал: перед записью в базу
$guest_message = trim(stripinput(censorwords($_POST['gb_message'])));


if ($guest_name != "" && $guest_message != ""smiley {
$result = dbquery("INSERT INTO ".$db_prefix."gbook....


при таком раскладе, если существуют в тексте запрещенные слова, запись в базу вообще не идет, страница тупо обновляется. Пробовал и на сам вывод ставить
<tr>
<td>".nl2br(parsesmileys(parseubb(censorwords($data['guestbook_message']))))."</td>
</tr>


при таком раскладе выдает ошибку
Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in /var/www/abc662/data/www/site.ru/pda/maincore.php on line 440

Warning: preg_replace() [function.preg-replace]: Compilation failed: missing terminating ] for character class at offset 5 in /var/www/abc662/data/www/site.ru/pda/maincore.php on line 440

Warning: preg_replace() [function.preg-replace]: Unknown modifier 'r' in /var/www/abc662/data/www/site.ru/pda/maincore.php on line 440

Вот строка 440:
if ($word_list[$i] != ""smiley $text = preg_replace("/".$word_list[$i]."/si", $settings['bad_word_replace'], $text);


Как это реализовать? Что я не так делаю? Буду признателен за помощь. Ведь в чате эта функция работает, очень хотелось бы ее и в гостевой.


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 242  
PahaW
SF Team

Avatar пользователя




SF Support Team

Любитель Fusion

Сообщений: 148
Зарегистрирован: 02 Июня 2009, 10:04:06
Сказали спасибо 12 раз
Статус: offline
Опубликовано 19 Сентября 2012, 18:29:50
файл гостевой можно?


--------------------
-> покинул проект
^ наверх ^ paha.khspu.ru/blog
# 243  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 19 Сентября 2012, 19:58:44
PahaW написал:
файл гостевой можно?

Да, конечно
<?
require_once "maincore.php";
$desc_in = "".$lang_desc['ostavit_otziv']."";
$key_in = "".$lang_key['ostavit_otziv']."";

require_once "subheader.php";
require_once "side_left.php";

if (file_exists("locale/".$settings['locale']."/guestbook.php"smiley) {
include "locale/".$settings['locale']."/guestbook.php";
} else {
include "locale/Russian/guestbook.php";
}
@$name=$userdata['user_name'];
@$email=$userdata['user_email'];
$weburl='';
$webtitle='';
$message='';

$result = dbquery("SELECT * FROM ".$db_prefix."settings"smiley;
$gb_set = dbarray($result);

$time=time()-$gb_set['gb_tm']*60;
$result = dbquery("SELECT * FROM ".$db_prefix."gbook WHERE (guestbook_datestamp>'".$time."' && guestbook_ip='".USER_IP."'smiley"smiley;
$num = dbrows($result);
if (isset($_POST['gb_submit'])) {
if ($num == 0){

$error = false;
if ($settings['display_validation'] == "1"smiley {
if (!check_captcha($_POST['captcha_encode'], $_POST['captcha_code'])) {
$error .= $locale['410']."<br />\n";
}
}
if (!$error && $_POST['gb_name'] != "" && $_POST['gb_message'] != ""smiley {
$guest_name = trim(stripinput($_POST['gb_name']));
$guest_email = trim(stripinput($_POST['gb_email']));
$guest_weburl = trim(stripinput($_POST['gb_weburl']));
$guest_webtitle = trim(stripinput($_POST['gb_webtitle']));
$guest_message = trim(stripinput($_POST['gb_message']));
if ($guest_name != "" && $guest_message != ""smiley {
$result = dbquery("INSERT INTO ".$db_prefix."gbook (guestbook_name, guestbook_email, guestbook_weburl, guestbook_webtitle, guestbook_message, guestbook_datestamp, guestbook_ip) VALUES('$guest_name', '$guest_email', '$guest_weburl', '$guest_webtitle', '$guest_message', '".time()."', '".USER_IP."'smiley"smiley;
}
redirect(FUSION_SELF);
} else {
$name = trim(stripinput($_POST['gb_name']));
$email = trim(stripinput($_POST['gb_email']));
$weburl = trim(stripinput($_POST['gb_weburl']));
$webtitle = trim(stripinput($_POST['gb_webtitle']));
$message = trim(stripinput($_POST['gb_message']));
opentable($locale['gb407']);
echo "<div class='error'><b>".$locale['gb430']."</b><br>\n<span class='small'>";
if ($error) { echo $locale['gb431']."<br>\n"; } echo $locale['gb432']."</span></div>\n";
closetable();
tablebreak();
}
}else{
$name = trim(stripinput($_POST['gb_name']));
$email = trim(stripinput($_POST['gb_email']));
$weburl = trim(stripinput($_POST['gb_weburl']));
$webtitle = trim(stripinput($_POST['gb_webtitle']));
$message = trim(stripinput($_POST['gb_message']));
opentable($locale['gb434']);
echo "<div align='center'><b>".$locale['gb430']."</b><br>\n<span class='small'>";
echo $locale['gb433']."</span></div>\n";
closetable();
tablebreak();
}
}
opentable($locale['gb400']);
echo "<form name='inputform' method='post' action=''>
<table align='center' cellpadding='0' cellspacing='0'>
<tr>
<td align='right' class='tbl'>".@$locale['gb401']."<span style='color:#ff0000'>*</span></td>
<td class='tbl'><input type='text' name='gb_name' value='$name' class='textbox' style='width:200px'></td>
</tr>
<tr>
<td align='right' class='tbl'>".$locale['gb402']."</td>
<td class='tbl'><input type='text' name='gb_email' value='$email' class='textbox' style='width:200px'></td>
</tr>\n";
echo "<tr>\n<td class='tbl'>".$locale['gb407']."<span style='color:#ff0000'>*</span></td>\n<td class='tbl'>";
echo make_captcha();
echo "</td>
</tr>
<tr>
<td class='tbl'>".$locale['gb408']."<span style='color:#ff0000'>*</span></td>
<td class='tbl'><input type='text' name='captcha_code' class='textbox' style='width:100px'></td>
</tr>\n";
echo "<tr>
<td align='right' valign='top' class='tbl'>".$locale['gb405']."<span style='color:#ff0000'>*</span></td>
<td class='tbl'><textarea name='gb_message' rows='5' class='textbox' style='width:250px'>$message</textarea><br><br>
".displaysmileys("gb_message"smiley."
</td>
</tr>
<tr>
<td class='tbl'></td>
<td class='tbl'><input type='submit' name='gb_submit' value='".$locale['gb406']."' class='button'></td>
</tr>
</table>
</form>\n";
closetable();
tablebreak();

opentable($locale['gb420']);
$result = dbquery("SELECT * FROM ".$db_prefix."gbook"smiley;
$rows = dbrows($result);
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if ($rows != 0) {
tablebreak();
$i = 1;
$result = dbquery("SELECT * FROM ".$db_prefix."gbook ORDER BY guestbook_datestamp DESC LIMIT $rowstart,".$gb_set['gb_kl'].""smiley;
$numrows = dbrows($result);
while ($data = dbarray($result)) {
if ($data['guestbook_weburl']) {
$weburl = str_replace("http://", "", $data['guestbook_weburl']);
if ($data['guestbook_webtitle']) {
$alt= $data['guestbook_webtitle'];
} else {
$alt= $weburl;
}
$web = "<td width='0' align='right' style='padding-left: 5px; padding-right: 5px'><a href='http://$weburl' target='_blank'><img border='0' alt='$alt' src='images/home.gif' width='16' height='16' ></a></td>";
} else {
$web = "";
}
if ($data['guestbook_email']) {
$email = '<td align="right" width="0" style="padding-left: 5px; padding-right: 5px"><a href="mailto:'.$data['guestbook_email'].'"><img alt="'.$data['guestbook_email'].'" border="0" src="images/mail.gif" width="16" height="16"></a></td>';
} else {
$email = "";
}
echo "<table align='center' cellpadding='0' cellspacing='1' width='80%' class='tbl-border'>
<tr>
<td class='tbl2'>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='small' width='100%'><b>".$data['guestbook_name']."</b></td>\n";
echo $email.$web;
echo "</tr>
</table>
</td>
</tr>
<tr>
<td class='tbl1'>".nl2br(parsesmileys(parseubb($data['guestbook_message'])))."</td>
</tr>";
if ($data['guestbook_otvet']!=''smiley{
echo "<tr>
<td class='tbl1'><div class='otvet'><i>".nl2br(parsesmileys(parseubb($data['guestbook_otvet'])))."</i></div></td>
</tr>";
}
echo "<tr>
<td class='tbl2'>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='small'>
".showdate("shortdate", $data['guestbook_datestamp'])."</td>\n";
echo "</tr>
</table>
</td>
</tr>
</table>\n";
if ($i != $numrows) echo "<br>\n";
$i++;
}
} else {
echo "<center><br>\n".$locale['gb423']."<br><br>\n</center>\n";
}
closetable();

if ($rows != 0) echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,$gb_set['gb_kl'],$rows,3,FUSION_SELF."?"smiley."\n</div>\n";


require_once "side_right.php";
require_once "footer.php";
?>



--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 244  
PahaW
SF Team

Avatar пользователя




SF Support Team

Любитель Fusion

Сообщений: 148
Зарегистрирован: 02 Июня 2009, 10:04:06
Сказали спасибо 12 раз
Статус: offline
Опубликовано 20 Сентября 2012, 15:48:26
По первому варианту должно быть правильно!
Проверь:
if ($settings['bad_words_enabled'] == "1" && $settings['bad_words'] != "" ) {


В админке должно быть включено bad_words, проверка плохих слов. И список не должен быть пустым и список замены тоже
$settings['bad_word_replace']


--------------------
-> покинул проект
^ наверх ^ paha.khspu.ru/blog
# 245  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 20 Сентября 2012, 17:38:52
Проверил, слова есть. Была только одна проблема: не мог их добавить из админки, видимо чего-то накосячил и теперь в некоторых разделах админки висит ошибка "function preg_match", однако всё работает, поэтому стараюсь просто не обращать вниманияsmiley Так вот, добавил слова вручную прямо в бд, всё включено, слова для замены есть. И не работает. Пошел проверить чат- оказалось, такая же проблема: не идет запись в базу! Хотя раньше всё работало ( я его отключил уж год назад, нет необходимости в нем). В общем, всё должно работать- и не работает. В чем причина- понять не могу. То есть эта функция у меня вообще умерла. Понимаю, что где-то что-то "сломал", но вот что и где- ума не приложу...


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 246  
PahaW
SF Team

Avatar пользователя




SF Support Team

Любитель Fusion

Сообщений: 148
Зарегистрирован: 02 Июня 2009, 10:04:06
Сказали спасибо 12 раз
Статус: offline
Опубликовано 20 Сентября 2012, 18:18:14
надо посмотреть что за ошибка preg_match в каком файле?
и когда ты кидаешь файл на просмотр, прикрепляй его в архиве или отключай смайлики ))


--------------------
-> покинул проект
^ наверх ^ paha.khspu.ru/blog
# 247  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 21 Сентября 2012, 07:37:00
PahaW написал:
надо посмотреть что за ошибка preg_match в каком файле?
и когда ты кидаешь файл на просмотр, прикрепляй его в архиве или отключай смайлики ))

Хорошо, буду делать так. А ошибки в разделе Администрирование системы, причем не во всех разделах. В файлах Главные установки (settings_main.php), Прочие установки (settings_misc.php), Установки времени и даты (settings_time.php), Установки приватных сообщений (settings_messages.php), Установки регистрации (settings_registration.php), Установки форума (settings_forum.php), Установки фотогалереи (settings_photo.php). То есть, вряд ли я повредил все эти файлы. Но вот где искать причину- не знаю...


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 248  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 21 Сентября 2012, 10:14:45
В общем, с ошибкой разобрался, она была в settings_links.php: двойной слеш умудрился поставить вместо одного. Но проблемы это не решило. Даже не представляю, в каком направлении копать. При включенной функции censorwords запись в базу вообще не идет, не важно, есть в сообщении запрещенные слова или нет...
Пока пользуюсь этим, пришлось прямо в код добавить, но зато работает:) Хорошо бы это еще с базой запрещенных слов объединить, тогда б альтернатива censorwords была
$ind = array('.net', '.com', 'http://', '.ru', '.org', 'namfam', 'sex', '.ua', '<a href=', '[url=', 'www');
//определили массив с запрещёнными словами

$replace = array('[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]', '[censored]');
//определили массив со словами, которые подставляем вместо запрещённых

$guest_message = str_replace($ind, $replace, $guest_message);
//заменяем запрещенные слова перед записью в базу




[Изменил(а) Pisatel, 21 Сентября 2012, 10:21:57]

--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 249  
PahaW
SF Team

Avatar пользователя




SF Support Team

Любитель Fusion

Сообщений: 148
Зарегистрирован: 02 Июня 2009, 10:04:06
Сказали спасибо 12 раз
Статус: offline
Опубликовано 25 Сентября 2012, 18:20:32
Прям даже и не знаю чем вам помочь ))
логи выдают какие-нибудь ошибки? smiley


--------------------
-> покинул проект
^ наверх ^ paha.khspu.ru/blog
# 250  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 26 Сентября 2012, 08:07:21
PahaW написал:
Прям даже и не знаю чем вам помочь ))
логи выдают какие-нибудь ошибки? smiley

Честно говоря, не смотрел. Посмотрю. Видимых никаких нет. Тоже не знаю, в каком направлении копать. Ведь там нужно только: таблица со словами и заменой- есть; описание самой функции в maincore.php- есть. В чем может быть проблема- ума не приложу. Кстати, ошибка в settings_links.php не моя, это ошибка в архиве, который здесь лежит: двойной слеш вместо одного.


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 251  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 27 Сентября 2012, 14:45:58
Вот access.log, больше нигде ничего не нашел
178.63.34.109 - -[27/Sep/2012:14:28:39 +0400]"POST /pda/guestbook.php HTTP/1.0" 302 4907 "http://www.yartamada.ru/pda/guestbook.php" "Opera/9.80 (J2ME/MIDP, Opera Mini/4.2.14912/28.2555; U; ru) Presto/2.8.119 Version/11.10"
Пробовал просто на мобильной версии сайта, там аналогично всё. Никаких ошибок, ничего не показывает, просто обновляется страница. Может это быть конфликт с jquery.js или jquery.corner.js? Не представляю, в чем может быть дело.


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 252  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 29 Сентября 2012, 11:09:00
Вопрос еще возник. В error.log имеется вот такое:
guestbook.php+++++++++++++++++++++++++++++result:+\xe8\xf1\xef\xee\xeb\xfc\xe7\xee\xe2\xe0\xed+\xed
2;xe8\xea\xed\xe5\xe9\xec+"leankelia";+\xef\xe8\xea\xf2\xee\xea\xee\xe4+\xe4\xe5
\xf8\xe8\xf4\xf0\xee\xe2\xe0\xed;+\xf3\xf1\xef\xe5\xf5;+bb-\xea\xee\xe4+\xed\x
e5+\xf0\xe0\xe1\xee\xf2\xe0\xe5\xf2

И вот такое:

guestbook.php+++++++++++++++++++++++++++++Result:+%E8%F1%EF%EE%EB%FC%E7%EE%E2%E0%ED+%ED%E8%EA%ED%E5%E9%EC+%22leankelia%22;+%EF%E8%EA%F2%EE%EA%EE%E4+%E
4%E5%F8%E8%F4%F0%EE%E2%E0%ED;+%F3%F1%EF%E5%F5;+BB-%EA%EE%E4+%ED%E5+%F0%E0%E1%EE%F2%E0%E5%F2

Что это может быть? Похоже на попытку взлома. Или ошибаюсь?


[Изменил(а) Pisatel, 29 Сентября 2012, 19:45:33]

--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 253  
PahaW
SF Team

Avatar пользователя




SF Support Team

Любитель Fusion

Сообщений: 148
Зарегистрирован: 02 Июня 2009, 10:04:06
Сказали спасибо 12 раз
Статус: offline
Опубликовано 01 Октября 2012, 17:22:32
Pisatel написал:
Вопрос еще возник. В error.log имеется вот такое:
guestbook.php+++++++++++++++++++++++++++++result:+\xe8\xf1\xef\xee\xeb\xfc\xe7\xee\xe2\xe0\xed+\xed
2;xe8\xea\xed\xe5\xe9\xec+"leankelia";+\xef\xe8\xea\xf2\xee\xea\xee\xe4+\xe4\xe5
\xf8\xe8\xf4\xf0\xee\xe2\xe0\xed;+\xf3\xf1\xef\xe5\xf5;+bb-\xea\xee\xe4+\xed\x
e5+\xf0\xe0\xe1\xee\xf2\xe0\xe5\xf2

И вот такое:

guestbook.php+++++++++++++++++++++++++++++Result:+%E8%F1%EF%EE%EB%FC%E7%EE%E2%E0%ED+%ED%E8%EA%ED%E5%E9%EC+%22leankelia%22;+%EF%E8%EA%F2%EE%EA%EE%E4+%E
4%E5%F8%E8%F4%F0%EE%E2%E0%ED;+%F3%F1%EF%E5%F5;+BB-%EA%EE%E4+%ED%E5+%F0%E0%E1%EE%F2%E0%E5%F2

Что это может быть? Похоже на попытку взлома. Или ошибаюсь?


походу ломали, как проверить, ну можешь воспользоваться скриптами вот этими

<?php

/*
* decode/cp1251.php
* $Id: cp1251.php,v 1.1.4.2 2004/02/24 15:57:27 kink Exp $
*
* Copyright (c) 2003-2004 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This file contains cp1251 decoding function that is needed to read
* cp1251 encoded mails in non-cp1251 locale.
*
* Original data taken from:
* ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
*
* Name: cp1251 to Unicode table
* Unicode version: 2.0
* Table version: 2.01
* Table format: Format A
* Date: 04/15/98
* Contact: cpxlate@microsoft.com
*
*/


function charset_decode_cp1251 ($string) {
// global $default_charset;
//if (strtolower($default_charset) == 'windows-1251')
// return $string;
/* Only do the slow convert if there are 8-bit characters */
/* avoid using 0xA0 (\\240) in ereg ranges. RH73 does not like that */
//if (! ereg("[\\200-\\237]", $string) and ! ereg("[\\241-\\377]", $string) )
// return $string;
$cp1251 = array(
"\\x80" => 'Ђ',
"\\x81" => 'Ѓ',
"\\x82" => '‚',
"\\x83" => 'ѓ',
"\\x84" => '„',
"\\x85" => '…',
"\\x86" => '†',
"\\x87" => '‡',
"\\x88" => '?',
"\\x89" => '‰',
"\\x8a" => 'Љ',
"\\x8b" => '‹',
"\\x8c" => 'Њ',
"\\x8d" => 'Ќ',
"\\x8e" => 'Ћ',
"\\x8f" => 'Џ',
"\\x90" => 'ђ',
"\\x91" => '‘',
"\\x92" => '’',
"\\x93" => '“',
"\\x94" => '”',
"\\x95" => '•',
"\\x96" => '–',
"\\x97" => '—',
"\\x98" => 'a33;',
"\\x99" => '™',
"\\x9a" => 'љ',
"\\x9b" => '›',
"\\x9c" => 'њ',
"\\x9d" => 'ќ',
"\\x9e" => 'ћ',
"\\x9f" => 'џ',
"\\xa0" => ' ',
"\\xa1" => 'Ў',
"\\xa2" => 'ў',
"\\xa3" => 'Ј',
"\\xa4" => '¤',
"\\xa5" => 'Ґ',
"\\xa6" => '¦',
"\\xa7" => '§',
"\\xa8" => 'Ё',
"\\xa9" => '©',
"\\xaa" => 'Є',
"\\xab" => '«',
"\\xac" => '¬',
"\\xad" => '­',
"\\xae" => '®',
"\\xaf" => 'Ї',
"\\xb0" => '°',
"\\xb1" => '±',
"\\xb2" => 'І',
"\\xb3" => 'і',
"\\xb4" => 'ґ',
"\\xb5" => 'µ',
"\\xb6" => '¶',
"\\xb7" => '·',
"\\xb8" => 'ё',
"\\xb9" => '№',
"\\xba" => 'є',
"\\xbb" => '»',
"\\xbc" => 'ј',
"\\xbd" => 'Ѕ',
"\\xbe" => 'ѕ',
"\\xbf" => 'ї',
"\\xc0" => 'А',
"\\xc1" => 'Б',
"\\xc2" => 'В',
"\\xc3" => 'Г',
"\\xc4" => 'Д',
"\\xc5" => 'Е',
"\\xc6" => 'Ж',
"\\xc7" => 'З',
"\\xc8" => 'И',
"\\xc9" => 'Й',
"\\xca" => 'К',
"\\xcb" => 'Л',
"\\xcc" => 'М',
"\\xcd" => 'Н',
"\\xce" => 'О',
"\\xcf" => 'П',
"\\xd0" => 'Р',
"\\xd1" => 'С',
"\\xd2" => 'Т',
"\\xd3" => 'У',
"\\xd4" => 'Ф',
"\\xd5" => 'Х',
"\\xd6" => 'Ц',
"\\xd7" => 'Ч',
"\\xd8" => 'Ш',
"\\xd9" => 'Щ',
"\\xda" => 'Ъ',
"\\xdb" => 'Ы',
"\\xdc" => 'Ь',
"\\xdd" => 'Э',
"\\xde" => 'Ю',
"\\xdf" => 'Я',
"\\xe0" => 'а',
"\\xe1" => 'б',
"\\xe2" => 'в',
"\\xe3" => 'г',
"\\xe4" => 'д',
"\\xe5" => 'е',
"\\xe6" => 'ж',
"\\xe7" => 'з',
"\\xe8" => 'и',
"\\xe9" => 'й',
"\\xea" => 'к',
"\\xeb" => 'л',
"\\xec" => 'м',
"\\xed" => 'н',
"\\xee" => 'о',
"\\xef" => 'п',
"\\xf0" => 'р',
"\\xf1" => 'с',
"\\xf2" => 'т',
"\\xf3" => 'у',
"\\xf4" => 'ф',
"\\xf5" => 'х',
"\\xf6" => 'ц',
"\\xf7" => 'ч',
"\\xf8" => 'ш',
"\\xf9" => 'щ',
"\\xfa" => 'ъ',
"\\xfb" => 'ы',
"\\xfc" => 'ь',
"\\xfd" => 'э',
"\\xfe" => 'ю',
"\\xff" => 'я'
);
$string = str_replace(array_keys($cp1251), array_values($cp1251), $string);
return $string;
}

/* $f = fopen("x.html","r") or die ("Error");

while (!feof($f))
{
$value = fgets($f, 4096);
// print $value;
// $s = charset_decode_cp1251( $value );
$s = htmlentities( $value );
// echo html_entity_decode($s, "Windows-1251", "utf8");
echo html_entity_decode($s);
// echo mb_convert_encoding($value, "Windows-1251", "UTF-16LE");
// echo html_entity_decode($s, ENT_COMPAT, "utf8");
// print $s2;
}
*/

echo '<meta charset="windows-1251">';
echo unescape('guestbook.php+++++++++++++++++++++++++++++Result:+%E8%F1%EF%EE%EB%FC%E7%EE%E2%E0%ED+%ED%E8%EA%ED%E5%E9%EC+%22leankelia%22;+%EF%E8%EA%F2%
EE%EA%EE%E4+%E
4%E5%F8%E8%F4%F0%EE%E2%E0%ED;+%F3%F1%EF%E5%F5;+BB-%EA%EE%E4+%ED%E5+%F0%E0%E1%EE%F2%E0%E5%F2');
echo "<br/>";
echo "<br/>";
echo '<meta charset="utf-8">';
echo charset_decode_cp1251('uestbook.php+++++++++++++++++++++++++++++result:+\xe8\xf1\xef\xee\xeb\xfc\xe7\xee\xe2&#
92;xe0\xed+\xed
2;xe8\xea\xed\xe5\xe9\xec+"leankelia";+\xef\xe8\xea\xf2\xee\xea\xee\xe4+\xe4\xe5

\xf8\xe8\xf4\xf0\xee\xe2\xe0\xed;+\xf3\xf1\xef\xe5\xf5;+bb-\xea\xee\xe4+\xed\x

e5+\xf0\xe0\xe1\xee\xf2\xe0\xe5\xf2');

function js_urldecode($str)
{
$str = explode('%u', $str);
$out = '';
for ($i = 0; $i < count($str); $i++)
{
$out .= pack('H*', $str[$i]);
}
$out = mb_convert_encoding($out, 'WINDOWS-1251', 'UTF-16');
return $out;
}

function unescape($source='') {
$decodedStr = "";
$pos = 0;
$len = strlen ($source);
while ($pos < $len) {
$charAt = substr ($source, $pos, 1);
if ($charAt=='%') {
$pos++;
$charAt = substr ($source, $pos, 1);
if($charAt=='u'){
// we got a unicode character
$pos++;
$unicodeHexVal = substr ($source, $pos, 4);
$unicode = hexdec ($unicodeHexVal);
$entity = "&#". $unicode . ';';
$decodedStr .= utf8_encode ($entity);
$pos += 4;
}else {
// we have an escaped ascii character
$hexVal = substr ($source, $pos, 2);
$decodedStr .= chr (hexdec ($hexVal));
$pos += 2;
}
} else {
$decodedStr .= $charAt;
$pos++;
}
}
return $decodedStr;
}


?>





--------------------
-> покинул проект
^ наверх ^ paha.khspu.ru/blog
# 254  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 03 Октября 2012, 10:30:25
Я очень извиняюсь за глупый вопрос... Но что с этим мне делать?smileysmiley Куда вставить?


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 255  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 03 Октября 2012, 10:42:45
Угу, понял, посмотрел. И понял, что не понял.:) Что это значит?
guestbook.php++++++++++++++++++++++++++++
+Result:+использован+никнейм+"leankelia";+пиктокод+4ешифрован;+успех;+BB-код+не+работает
uestbook.php++++++++++++++++++++++++++++
+result:+использован+н2;xe8кнейм+"leankelia";
+пиктокод+дешифрован;
+успех;+bb-код+н\xe5+работает

Это хорошо или печально?


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 256  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 05 Октября 2012, 13:48:31
В общем, проблема с censorwords не решена. Поставил sf с нуля, подключил только jquery.js и highslide.js, включил фильтр плохих слов... И перестали добавляться комментарии. Отключил фильтр- всё работает. Может как-то js влиять на работу censorwords?


--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
# 257  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 06 Октября 2012, 02:10:10
я как КО на всякий, поясню - это хрумер кривой тупит как демон и забивает лог г-ном.


--------------------
Retired
^ наверх ^
1 пользователь сказал спасибо Вам: Pisatel
# 258  
Pisatel
Пользователь

Avatar пользователя




Местный

Сообщений: 26
Откуда: Ярославль
Зарегистрирован: 11 Апреля 2011, 18:25:46
Сказали спасибо 0 раз
Статус: offline
Опубликовано 19 Октября 2012, 08:12:49
Всем здравствуйте! Такой вопрос возник: таблица _captcha вроде должна очищаться, верно? У меня этого не происходит, почему-то. Зашел как-то, а там уже 3мб записей. Есть ли у кого подобная проблема? И как (где) ее лечить?
Еще. Нужно было сделать, чтобы ссылки могли добавлять и неавторизованные пользователи, реализовал, могу поделиться. То есть, это отдельный файлик, ссылку с одного ip можно добавить раз в сутки (можно выставить любое время), время исчисляется с момента подачи до момента модерирования. Добавлена стандартная каптча. В общем, это что-то типа обмена ссылками: есть поле для добавления адреса страницы с беклинком, далее этот адрес будет виден только админу при выводе, чтобы время от времени проверять бэклинк. smiley


[Изменил(а) Pisatel, 20 Октября 2012, 14:09:35]

--------------------
Хочешь чего-то добиться-найдется тысяча способов.Не хочешь-тысяча причин.
^ наверх ^ http://www.yartamada.ru
Перейти на форум:


94,119,066 уникальных посетителей
сейчас: 28 Марта 2024, 11:19:11
Генерация страницы: 0.75 сек.