Дмитрий

Дмитрий

С нами с 07 ноября 2018; Место в рейтинге пользователей: #157
Дмитрий
07 января 2019, 18:46
+4
Большое спасибо, Николай, за вашу большую критику моего компонента

На самом деле, выкладывая его, я ждал именно такого разгрома, т.к. являюсь новичком и mWebRTC был моим первым проектом на MODX и PHP, в целом. То, что до этого его так хвалили для меня было шоком, потому что я понимал, что в нём много дыр. Но каких, я не знал и хотел, чтобы мне указали.

Тут не используются сокеты для соединения пользователей, поэтому да, Node не нужен.
Я не выставлял это, как преимущество, и сам считал, что это большой недостаток, что не используются сокеты. Но у меня тогда не было возможности поставить node на сервер, на котором я тестировал компонент. Понимаю, как это глупо может звучать, но все действительно так и было, у меня были очень ограниченные права. Поэтому, я не нашел ничего, кроме как проводить соединение через постоянные запросы. Хотя ещё до этого, я пытался попробовать SSE вариант от RTCMultiConnection, но он соединял лишь где-то в 50% случаях (как будто для этого использовалась функция рандома). При этом, я пытался сделать компонент таким, чтобы его можно было довольно просто изменить или улучшить, т.е. можно было бы поменять функционал сигнального сервера или заменить его своим (тем же socket.io).

По идеи, это можно сделать. У сниппета mwebrtcAdmin есть свойство group, которое определяет группу пользователей, которые будут иметь доступ к функционалу админа. Соответственно, если туда указать ту группу, в которую входят все пользователи, то любой пользователь сможет принимать звонки.
Признаю, что такой комментарий писать не стоило. Просто увидев тот вопрос, я моментально же ответил, не подумав о последствиях такого решения.

Во-первых, если приходит компонент в котором много кода, который вы физически не можете проверить, его нельзя принимать. Зачем там вот все эти JS-ы? Это сторонние публичные библиотеки. Вот оригинальные RTCMultiConnection и adapter. Пусть ссылку на CDN дает или инструкцию как подключить официальную библиотеку, а лучше мелкий проект с зависимостями, сборка его и релиз в npm.
Это было сделано по 2 причинам, которые мне казались логичными. 1. новые версии этих js-файлов могли не работать нормально с компонентом, по причине каких-нибудь изменений в новых версиях, поэтому я положил туда те версии файлов, в которых я был уверен, что они будут делать то, что мне нужно. 2. Подключать файл со стороннего сервера не выглядел привлекательным по причине того, что тот сервер банально может в один прекрасный момент перестать работать и файл, в итоге, не будет подключен.

Опять же спасибо за вашу критику. А теория про злоумышленника мне показалась забавной и интересной, хоть и понимаю, что небезпочвенна.
Дмитрий
11 ноября 2018, 23:32
1
+1
По идеи, это можно сделать. У сниппета mwebrtcAdmin есть свойство group, которое определяет группу пользователей, которые будут иметь доступ к функционалу админа. Соответственно, если туда указать ту группу, в которую входят все пользователи, то любой пользователь сможет принимать звонки.
Дмитрий
09 ноября 2018, 17:19
0
Да, компонент уже отправлен на модерацию.
Дмитрий
07 ноября 2018, 23:02
+1
Тут не используются сокеты для соединения пользователей, поэтому да, Node не нужен.