Добрый вечер всем Скажите плиз как писать код php в раздел url (http://сайт.ru/код php), я слышал что так можно сайты взламывать, хочу попробовать на своем, можете пару примеров продемонстрировать как это работает, или должно работать.
это не возможно из-за малых возможностей скриптов или из-за количества? каналы серверов использовать можно ?
Это довольно редкий случай, но возможно: remote code execution. Но я думаю вам рассказывали немного о другом, о SQL иньекциях. А вообще не рекомендую самому искать у себя на сайте уязвимости, учитывая уровень ваших знаний. Заплатите деньги специалисту. Бывает и такое, тоже довольно редкий случай когда отваливается PHP от Apache и все файлы просто начинают скачиваться. Ну или через разного рода уязвимости https://bugs.php.net/bug.php?id=61910 И еще как вариант локальное чтение файлов, через LFI уязвимость. Всё это тонкости, и всё это нужно учить и вникать в это. Может. Все зависит от мощности сервера на котором расположен сайт. Бывает хватает даже одного скрипта в один поток и даже с частотой 1 запрос в минуту. Но вы мне не верьте, люди выше лучше знают.
Появился интересный вопрос. Есть код textarea куда записывается текст, нужно сделать так чтобы он сохранял слова в виде файлов. например я написал я тут был ( значит он сохранил 3 файла, 1) я 2) тут 3) был и все эти файлы хранятся на сервер. Вы спросите зачем мне это надо, я хочу написать чат бота, который будет запоминать слова и выдавать как надо.
Разбить строку по словам, можно несколькими способами, я бы посоветовал explode: Code: $textarea = "Я тут был"; $byw = explode(" ",$textarea); Далее разбираешь в массив и записываешь каждое значение в файл. UPD Ну ладно, я сегодня добрый написал полностью. С учетом функции транслитерации для названия файлов: PHP: function transliterate($st) { //Функция транслитерации слова $st = strtr($st, "абвгдежзийклмнопрстуфыэАБВГДЕЖЗИЙКЛМНОПРСТУФЫЭ", "abvgdegziyklmnoprstufieABVGDEGZIYKLMNOPRSTUFIE" ); $st = strtr($st, array( 'ё'=>"yo", 'х'=>"h", 'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>'', 'ь'=>'', 'ю'=>"yu", 'я'=>"ya", 'Ё'=>"Yo", 'Х'=>"H", 'Ц'=>"Ts", 'Ч'=>"Ch", 'Ш'=>"Sh", 'Щ'=>"Shch", 'Ъ'=>'', 'Ь'=>'', 'Ю'=>"Yu", 'Я'=>"Ya", )); return $st; } $textarea = "Я тут был"; //Тут долежн быть контент $byw = explode(" ",$textarea); //Разбиваем по словам foreach ($byw as $ow) { //Разбираем массив $f_name = transliterate($ow); //Транслируем слово для названия файла $f_new = fopen($f_name.".txt", "w"); //Ну и далее, записываем все в файлы fwrite($f_new, $ow); fclose($f_new); }
я разбил текст так HTML: <form name="reply"> <textarea name="coding" class="content"><?=$i?></textarea> <p> Слов:<input name="words" /> Символов:<input name="symbols" /> </p> </form> HTML: counter = reply.coding.value.replace(/\n/," ").replace(/\s/gi," ").replace(/\s{2,}/gi," ").replace(/ $/,"").replace(/^ /,""); counter = counter.split(" "); document.reply.words.value = counter.length; document.reply.symbols.value = document.reply.coding.value.length;
А можно сделать чтоб он не перезаписывал файл если он уже есть?. Я в эти файлы собираюсь запихать код, который будет обрабатывать порядок слов, после чего сервер должен выдавать правильный ответ.
У вас он не учитывает пробел перед началом написания текста, например "(пробел) я тут был" этот пробел считается словом и еще количество пробелов не регулирует, создает лишний файл когда думает что пробел это слово
Я же писал, что добавил функцию транслитерации названия. Когда слово повторяется, он открывает существующий файл и перезаписывает его. Пробел - разделитель для explode в данном случае.
Я просто плохо разбираюсь в php как мне убрать это, чтоб он не перезаписывал файл если он существует. Кстати ваш метод мне нравится он как то изящней