hvarts
15.02.2019
23:40:17
эх
Gleb
16.02.2019
07:12:02
подскажите пожалуйста, drag&drop editor для админки.
Задача такая... заказчику нужен конструктор лендингов из адмики... все блоки будут добавляться вручную
спасибо, взгляну
просто я сделал для Mobrise поддержку, человек на компе в приложении собирал лендинг и загружал архив и он успешно распаковывался на страницу, но его напрягает что нужно сторонее ПО и т.д.(придурь по мне)
Google
Gleb
16.02.2019
07:24:34
Смотрю на него, вроде и просто и прикольно... вечерком буду пробовать...
Den
16.02.2019
07:26:48
А че такое? Это запрет тут что-ли?
Gleb
16.02.2019
07:27:22
Den
16.02.2019
07:27:36
Какой?
Gleb
16.02.2019
07:27:42
Den
16.02.2019
07:27:51
Это не мой
Artf написал
Да все мои поудаляли
В чем дело, админ?
Я могу свалить
Думаю мне здесь не очень рады
Yuriy
16.02.2019
07:32:02
Скорее всего в массе насрать)
dypa
16.02.2019
07:47:49
Куда ты денешься с подводной лодки? ©
Google
Alexandr
16.02.2019
08:26:42
Plomipu
16.02.2019
12:33:18
добрый день. У меня как бы PHP 5.6 поэтому я в курсе, что в отличии от 7-ки поддержки типизации в моей версии PHP почти нет. Но я все равно хочу знать: неужели неважно какой тип ты хочешь указать для переменной в PHP, нельзя это сделать: ни для скалярных типов, ни для ссылочных типов ???
Я просто спрашиваю такую глупость так как я на java перешёл и я очень привык к его строгой типизации, но кто знает, может меня на работу в энтерпрайз разработчиком на этом языке не возмут и я на PHP перейду снова.
Pavel
16.02.2019
12:43:42
Для классов типизация доступна с 5.3 емнип
Gena
16.02.2019
13:00:46
PHP гуру, подскажите один сложный момент, если кто в курсе.
Есть небольшой участок кода:
<?php
$target = $_REQUEST['rce'];
echo "test='{$target}' alt=tab";
?>
Возможно ли в запросе rce выполнить произвольный PHP код? Некоторые ребята пытаются убедить меня, что это реально, но у меня скиллов не хватает, мануалы читал, пробовал разные вариации, не прокатывает.
Я приведу пример того, что имею ввиду:
echo "test${phpinfo()}test";
В данном случае между двойных кавычек попадает строка с php кодом, и выполняется. В приведенном мною выше коде, нечто подобное возможно выполнить, воздействуя на $_REQUEST['rce'] ?
eval($target)
http://php.net/manual/ru/function.eval.php
Dmitry
16.02.2019
13:12:41
Alexey
16.02.2019
13:20:07
PHP гуру, подскажите один сложный момент, если кто в курсе.
Есть небольшой участок кода:
<?php
$target = $_REQUEST['rce'];
echo "test='{$target}' alt=tab";
?>
Возможно ли в запросе rce выполнить произвольный PHP код? Некоторые ребята пытаются убедить меня, что это реально, но у меня скиллов не хватает, мануалы читал, пробовал разные вариации, не прокатывает.
Я приведу пример того, что имею ввиду:
echo "test${phpinfo()}test";
В данном случае между двойных кавычек попадает строка с php кодом, и выполняется. В приведенном мною выше коде, нечто подобное возможно выполнить, воздействуя на $_REQUEST['rce'] ?
если echo идёт в браузер то вот уязвимость:
$_REQUEST['rce'] = '<script>alert("что то опасное")</script>';
$target = $_REQUEST['rce'];
echo "test='{$target}' alt=tab";
Время
16.02.2019
13:23:07
Pavel
16.02.2019
13:24:14
очень сильно!
А что сильно то, если rce приходит в строке то оно никак не сможет проинтерпретироваться
И если ребята тебя убеждают то могли бы пруф привести в 3 строки
В браузере да, xss есть
Время
16.02.2019
13:25:03
Pavel
16.02.2019
13:25:42
Но в $_REQUEST не может приходить вызовов функций, только строки, в крайнем случае массивы строк и чисел
Dmitry
16.02.2019
13:30:03
грубо говоря - строка парсится на переменные только один раз, заменяя то, что может - на текст
если бы она парсилась потом интерпретатором еще раз - могли бы быть проблемы, но такого в языке нет
Gena
16.02.2019
13:31:29
очень сильно!
Сильно - это выполнять код, который приходит с переменных запроса
Plomipu
16.02.2019
13:41:44
Для классов типизация доступна с 5.3 емнип
Это хорошо, но почему-то я не могу указывать тип переменной во время инициализации:
namespace Forms\Table;
require "form.php";
use Forms\Form as Form;
use Forms\Table\Cell as Cell;
class Row extends Form{
private $cells = array();
Cell $w;
function __construct($width, $height, Cell $cells_arr){
parent::__construct($width, $height);
if(isset($sells_arr))
$this->cells = $cells_arr;
}
}
код падает на 10-ой строке
hvarts
16.02.2019
13:50:12
ребят. шлю гет запрос, получаю содержимое а там страница бесконечно перезагружается.
в чем трабла?
Google
dypa
16.02.2019
13:54:14
Plomipu
16.02.2019
13:56:17
а почему он должен работать?
так я об этом и спрашивал: можно или нельзя в PHP указывать явно хоть какие-то типы переменным, а не только при объявлении функций ???
dypa
16.02.2019
14:05:32
Plomipu
16.02.2019
14:07:14
понятно. Значит из за того, что в PHP как таковой компиляции нет, то все типы во время рантайма у переменных и определяются. Чтож это печалька с одной стороны.
Dmitry
16.02.2019
16:11:26
проблема пхп не сколько динамическая типизация, сколько слабая типизация
Pavel
16.02.2019
16:25:00
И нет енумов с генериками :(
dypa
16.02.2019
16:32:20
Username
16.02.2019
17:40:00
подскажите как часто у вас бывает такое что делаешь проект. а потом спустя несколько недель то там отпадет то там поправить то там отчет не так считает. и приходится постоянно возвращаться и поправлять. при этом тестеров нет. и в целом такие ситуации как то подрывают веру в свои силы. это так или это норма при отсутствии внятного тз и тестеров ? как у вас часто ли приходится возвращается что то доделать ..
ustasby
16.02.2019
17:40:38
Pavel
16.02.2019
17:41:06
Aleksandr
16.02.2019
17:48:17
Username
16.02.2019
17:52:00
тесты это я согласен но во первых их не всегда можно прям оптимально во вторых некоторые тесты основаны на UI поведении . ИП адресах я честно говоря незнаю как тут норм можно тесты делать когда логика зависит от ип/кук/и тд. ну в итоге один проект второй. когда это переходит в систему то ощущение что дегенерат. при этом стараешься сделать наоборот быстрее а получается что только хуже. а когда делаешь одну фичу качественно неделю то скорость маленькая ну и в итоге кажется что это не мое .
или вот иная история когда система делалась по одному и она считала работала полгода по одной логике. а потом оказалось кто-то когда-то затупил и логика просчёта бонусов другая. и надо всем срочно пересчитать. и надо это не не вчера а на позавчера. и жесть а потом пинают почему долго почему не можете переделать и тд
Aleksandr
16.02.2019
17:55:56
Но ведь если ты делаешь нормально, то у тебя логика сосредоточена в одном месте, и значит поменять особо не сложно будет?
Pavel
16.02.2019
17:56:01
Требования всегда меняются так что вся предыдущая архитектура оказывается не в тему. Так что нельзя говорить о хорошем коде в абсолюте, можно говорить только о степени говнокода применительно к текущим требованиям.
Username
16.02.2019
17:57:53
Pavel
16.02.2019
17:58:56
Username
16.02.2019
17:59:31
Google
Admin
Username
16.02.2019
18:02:11
ещё вот пример делали систему которая не предполагает работать с гостями. соответственно все сервисы апи надеятся на юзера. что-то с ним делают. тут прилетает что надо часть чтоб было без регистрации. и ппц делаешь но все равно баги остаются и чинишь понемногу то там то сям бльо
Pavel
16.02.2019
18:02:29
Чем больше у тебя опыта тем больше ты будешь видеть сразу где конфликтует. И заказчику говоришь - вот вы предлагаете так, а это противоречит тому что вы просили месяц назад. И пусть сами разбираются.
Username
16.02.2019
18:02:59
противоречит. но теперь надо так ) и вперёд
Pavel
16.02.2019
18:03:33
Ну переделывай. А хорошее покрытие тестами и дизайн сведет к минимуму количество регрессионных багов.
А так, разработчики которые пишут долгоживущий проект по сути все время находятся в стадии переделывания, для этого и придуманы итерации, скрумы, агилы.
Username
16.02.2019
18:04:16
та тесты это часто не вариант. когда в 11 утра просят срочно добавить сегодня до обеда какие-то фичи
Pavel
16.02.2019
18:04:35
Конечно это морально изматывает.
Username
16.02.2019
18:05:19
спасибо немного успокоили а то ощущение что дебил )
Pavel
16.02.2019
18:05:53
Причем в 90% случаев им на самом деле неважно сделаешь ли ты это до обеда или до обеда следующего дня, на выручку бизнеса это никак не повлияет.
dypa
16.02.2019
18:18:54
Aleksandr
16.02.2019
18:18:55
Dmitry
16.02.2019
18:19:21
dypa
16.02.2019
18:19:38
Pavel
16.02.2019
18:19:56
Вот со строками кстати оно работает как надо
Dmitry
16.02.2019
18:21:08
а, этого из-за того, что в пхп toString не работает с интом...
Google
Dmitry
16.02.2019
18:22:01
Но в общем, лучше всегда явно приводить тип... я поэтому стараюсь не делать toString в VOшках
Pavel
16.02.2019
18:24:28
https://docs.hhvm.com/hack/enums/introduction вот как это должно быть сделано :)
в хаке вообще все влажные фантазии пхпшников реализовали
dypa
16.02.2019
18:28:16
Username
16.02.2019
18:29:34
:(
dypa
16.02.2019
18:39:42
Pavel
16.02.2019
18:40:10
dypa
16.02.2019
18:41:24
Pavel
16.02.2019
18:42:12
Хм думаю что нет. А вот == должно работать.