Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.07.2009, 00:31
|
|
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме: 1325167
Репутация:
100
|
|
Зададние 027
Нет фильтрации в sql запросе.
XSS исключена, т.к. htmlspecialchars() не будет выполнять зловредный код.
Должо быть так:
Код:
<?php
if (! preg_match("|^[\w\d\. ]+$|i", $name))
$name= htmlspecialchars($_POST['name'], ENT_COMPAT);
mysql_query("select * from users Where name = '$name'");
?>
Остальные задания выносят мозг....
|
|
|

11.07.2009, 00:51
|
|
Участник форума
Регистрация: 01.03.2008
Сообщений: 149
Провел на форуме: 3395070
Репутация:
173
|
|
Задание 029
Написать скрипт зеркального отражения слов. На входе античат, на выходе тачитна - чтобы так можно было делать с любым словом.
PHP код:
<?php
$text = $_GET['text'];
echo strrev($text);
?>
PHP код:
<?php
$text = $_GET['text'];
$len = strlen($text);
for($i=0;$i<$len;$i++)
{
$s =substr($text,$len-$i-1,1);
$rez = $rez.$s;
}
echo $rez;
?>
Последний раз редактировалось beerhack; 11.07.2009 в 01:03..
|
|
|

11.07.2009, 01:13
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
PHP код:
<?php
$text = $_GET['text'];
$len = strlen($text);
for($i=0;$i<$len;$i++)
{
$s =substr($text,$len-$i-1,1);
$rez = $rez.$s;
}
echo $rez;
?>
Ужасный вариант, если делать циклом, то так:
PHP код:
$text='тут текст';
$revtext='';
for($l=strlen($text),$i=$l-1;$i>=0;$i--)
$revtext.=$text{$i};
print $revtext;
А теперь напишите вариант для кодировки Unicode 
|
|
|

11.07.2009, 04:25
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
PHP код:
<?php
$text = 'blalba';
for($i = -strlen($text),$b = -1; $i <= $b; $b--)
echo substr($text,$b,1);
?>
|
|
|

11.07.2009, 11:04
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
задание 29 есть в гугле ... google.ru/search?q=utf8+php+strrev
|
|
|

11.07.2009, 11:22
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
вот мой вариант задания 29
PHP код:
<?php
$text = 'тут utf8 русский текст';
$revtext = '';
$i=0;
$len = strlen($text);
while($i<$len)
{
if ( ord($text[$i]) > 128 )
{
$revtext = $text[$i].$text[++$i] . $revtext;
++$i;
}
else
{
$revtext = $text[$i] . $revtext;
++$i;
}
}
echo $revtext;
UTF-8 — это представление Юникода
символы Юникода изображаются последовательностями длиной от 2 до 6 байт
(на деле, только до 4 байт, поскольку в Юникоде нет символов с кодом больше 10FFFF)
да, осталось только определить сколько байт символ занимает.. мой вариант от 1 до 2 =\
PHP код:
<?php
$text = 'тут utf8 русский текст';
$revtext = '';
$i=0;
$len = strlen($text);
while($i<$len)
{
if ( ord($text[$i]) > 128 )
{
if ( ord($text[$i]) == 255 )
{
if ( ord($text[$i+1]) == 255 )
{
$revtext = $text[$i].$text[++$i].$text[++$i].$text[++$i] . $revtext;
++$i;
}
else
{
$revtext = $text[$i].$text[++$i].$text[++$i] . $revtext;
++$i;
}
}
else
{
$revtext = $text[$i].$text[++$i] . $revtext;
++$i;
}
}
else
{
$revtext = $text[$i] . $revtext;
++$i;
}
}
echo $revtext;
так ?)
Последний раз редактировалось imajo.ati; 11.07.2009 в 11:50..
|
|
|

11.07.2009, 14:04
|
|
Участник форума
Регистрация: 28.04.2008
Сообщений: 172
Провел на форуме: 1191083
Репутация:
270
|
|
Задание 029
с циклом
Код:
<?php
$word = 'античат';
for ($i = 0; $i<strlen($word); $i++)
$b = $word[$i].$b;
echo $b;
?>
не изобретая велосипед
Код:
<?php
$word = 'античат';
echo strrev($word);
?>
Задание 026
//$d = $b<=$a && $a==$c || $b>$c ? 0 : 1;
$b<=$a --- false
$a==$c --- false
false && false == false
$b>$c --- true
false || true == true
Следует получаем из условия 0.
Последний раз редактировалось art2222; 11.07.2009 в 14:11..
|
|
|

11.07.2009, 16:52
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
йй
Последний раз редактировалось imajo.ati; 11.07.2009 в 17:01..
|
|
|

11.07.2009, 17:24
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Задание 026
PHP код:
$a = 10;
$b = 515;
$c = 0.515;
$d = $b<=$a&&$a==$c||$b>$c?0:1;
echo $d;
Ессли ($b<=$a и ($a==c или $b>$c)) выводит 0.
|
|
|

11.07.2009, 18:09
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
ВСЕМ спасибо! Заданий теперь не будет неделю.
// Отыхать я еду)
ФТП ВАЛИД МНОГО кому надо? ОБмен на асю или если немного просто так.! СРОЧНО. до 00:00
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|