Не прокатывает mb_detect_encoding Да, с других сайтов, но они выдают только строку без заголовков и тегов с объявлением кодировки.
нужно сделать счётчик в виде часов, с обратным отсчётом например до рождества итд. незнаю каким запросом искать, подскажите?
Вроде в гугле есть инфа http://www.google.com.ua/search?gcx=c&sourceid=chrome&ie=UTF-8&q=%D1%87%D0%B0%D1%81%D1%8B+%D1%81+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%BC+%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BE%D0%BC#sclient=psy-ab&hl=ru&source=hp&q=%D1%87%D0%B0%D1%81%D1%8B+%D1%81+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%BC+%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BE%D0%BC+%D0%BD%D0%B0+js&pbx=1&oq=%D1%87%D0%B0%D1%81%D1%8B+%D1%81+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%BC+%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BE%D0%BC+%D0%BD%D0%B0+js&aq=f&aqi=g-v1&aql=1&gs_sm=e&gs_upl=7350l10365l0l10555l10l5l1l3l4l1l390l1066l3-3l7l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=e58704271593e6e&biw=1024&bih=677
PHP: <?php if(isset($_GET['img'])) { $a=$_GET['img'] . ".jpeg"; } else { die ("Image not found"); } if(file_exists("$a")) { echo "<img src='$a'>"; } else { die('<b>This file is not exist</b>'); } ?> Какие уязвимости могут быть в этом коде, и почему при $_GET['img'] = http://domain/img пишет This file is not exist?
Кроме XSS в этом коде нет уязвимостей. При $_GET['img'] = http://domain/img пишет This file is not exist потому что файла, получившегося в конечной переменной не существует. Всё просто, узнаеш текущее microtime, microtime даты, сравниваешь, вычитаешь, преобразуешь в часы/минуты/секунды/годы и выводишь на экран.
Спасибо, а каким способом тут можно реализовать xss? У меня на все попытки все время выдает This file is not exist.
можно ли текст в картинку выводить через php? например текст обновился - и обновлённый на странице не текстом отображается а картинкой ? и много ли это нагрузки даст хостеру?
Можно. Тут скорее нужно смотреть в сторону JavaScript, если обновление происходит в реальном времени, и если картинки могут повторяться. Не должна создаваться большая нагрузка на хостинг, поскольку картинки могут кешироваться. Если же картинки обновляются очень часто и они всегда разные, - тогда все зависит от хостинга и от реализации.
Ну это конечно же крайний случай, так как на некоторых серверах можно заливать файлы с произвольным именем: ./dir/'><script>alert('xss')</script> С учётом того, что файл ./dir/'><script>alert('xss')</script>.jpeg будет существовать. Правда может не прокатить при некоторых настройках сервера.
Подскажите, пожалуйста, почему не работает скрипт: PHP: $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_USERAGENT, $useragent); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); $html = curl_exec($curl); $separator = ' '; //Разделитель $html = explode($separator, $html); //Делим html на строки for($i=0; $i++; $i<count($html)-1) { if (preg_match('/href="/photo', $html["$i"], $result)) { //проверяем есть ли вхождения $new = ''; $old = array ('href="', '">' $results["$i"] = str_replace($old, $new, $result); //удаляем все href=" и "> } } print_r($results);
Нашел 1 ошибку - заменил $result = preg_match('/href="/photo', $html["$i"])) на if (preg_match('/href="/photo', $html["$i"], $result)), так все-таки правильно. Но страница все равно пустая. PHP: $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_USERAGENT, $useragent); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); $html = curl_exec($curl); $separator = ' '; //Разделитель $html = explode($separator, $html); //Делим html на строки for($i=0; $i++; $i<count($html)-1) { if (preg_match('/href="/photo/', $html["$i"], $result)) { //проверяем есть ли вхождения $new = ''; $old = array ('href="', '">' $results["$i"] = str_replace($old, $new, $result); //удаляем все href=" и "> } } print_r($results);
Тут почти все неправильно. PHP: $separator = ' '; //Разделитель $html = explode($separator, $html); //Делим html на строки Ты тут делишь текст не на строки, а на слова. PHP: preg_match('/href="/photo/', $html["$i"], $result) Регулярка составлена неправильно. Должно быть: PHP: preg_match('/href=\"\/photo/', $html["$i"], $result) И что это за извращение: PHP: $html["$i"] если можно записывать так: PHP: $html[$i] Эта строчка тоже какая то непонятная: PHP: $old = array ('href="', '">'
1. В каких то случаях получаются слова, а в каких то строки типа href="photo. 2. Это по идее должны быть подстроки, которые мы ищем в $result и заменяем на $new; То есть 1 href=", а вторая "> . Спасибо, буду исправляться.