2010-10-08 9 views
9

Jestem nowym programistą w mojej firmie i zajmuję się głównie programowaniem front-end. Nasz zespół jest często proszony przez naszych pracowników ds. Sprzedaży i marketingu o włączenie javascriptów innych firm do naszej witryny.Jakie są zagrożenia związane z hostowaniem Javascript stron trzecich?

„Oto«kod mały urywek». Nasz sprzedawca zapytał, czy można umieścić to na naszej stronie internetowej”

To czyni mnie bardzo nerwowy.

Wiem, że te skrypty mogą spowolnić nasze strony, a ja w wielu przypadkach musiałem otoczyć kod za pomocą bloków try/catch, aby upewnić się, że te błędy innych firm nie mają wpływu na inne skrypty Strona.

Skrypty te przychodzą do mnie w różnych formach ...

niektóre są dostawcy dostarczane skrypty gościmy ...

<script src="http://www.mycompany.com/js/vendor-file.js" type="text/javascript"> 

... niektóre są odniesienia w naszym kodzie, ale hostowane zewnętrznie

<script src="http://www.vendor.com/js/file.js" type="text/javascript"> 

... a niektóre skrypty są pojawiać inline na naszej stronie, które umieszczają tagi język naszej głowie pisząc na DOM

var a = document.createElement("script"); a.type = "text/javascript" ... etc. 

Mniejsza troska, ale nadal ważne jest pisanie plików cookie - i przekroczenie limitu cookie 20 w IE6 (tak, ważna baza klientów wciąż znajduje się na IE6 i reprezentują one rzeczywistą $$ $) - więc wymagamy (mam nadzieję), że żadne javascripts hostowane w naszej domenie nie upuszczają żadnych dodatkowych plików cookie.

Ale poza kwestią ciasteczek - jakie dodatkowe zagrożenia/scenariusze/niebezpieczeństwa istnieją, o których muszę wiedzieć lub powinienem ich szukać - aby móc zadowolić naszą stronę i naszych klientów.

Dzięki

-Rich

+1

Czy Twój szef/menedżer jest świadomy problemów związanych z umieszczaniem fragmentów dostawcy w witrynie? * Myślę, że masz rację, bardzo się denerwujesz. Upewnij się, że rozmawiasz z kimś wyżej, więc jeśli coś kiedykolwiek pójdzie naprawdę źle, możesz powiedzieć, że byli świadomi i dobrze to zrobili na początku. – FrustratedWithFormsDesigner

+0

Jeśli masz do czynienia z handlem, możesz zobaczyć wiele z nich. Mamy tendencję do kupowania ich na naszych stronach kasowych dla różnych transakcji związanych z ruchem i poleceniami. W niektórych przypadkach są po prostu pikselami, ale w innych przypadkach są javascript, tak czy inaczej nie jestem wielkim fanem, ponieważ tylko jeden może zablokować ładowanie twojej strony:/ – dstarh

Odpowiedz

7

Nie, to wielkie słowo z dużą mocą. Używaj go dobrze.

Nie masz żadnych zobowiązań (poza umowami o charakterze prawnym i umownym) do dołączania fragmentów kodu ze źródeł, których nie znasz i którym w pełni ufasz. Jeśli jesteś zdenerwowany, a Ty odpowiadasz za stabilność i bezpieczeństwo swojej strony, PO PROSTU POWIADOM.

JavaScript może być dziką bestią do oswajania. Bardzo prosty jest jeden mały, pozornie nieszkodliwy scenariusz, który doprowadza do upadku całego domu. Nigdy nie traktuj żadnego prostego skryptu jak "tylko głupią drobnostkę". Wystarczy jeden skrypt, aby zastąpić kluczową funkcję, na przykład JQuery, AJAX lub inną bibliotekę, a Twoja strona spadnie w blasku chwały.

+0

+1 dla eseju "Nie" :) – Jas

+0

Dobrze powiedziane. Po zdalnym skrypcie na swojej stronie ONA twoja strona. Może monitorować i ponownie pisać (lub przypadkowo rozbić) wszystko, czego chce. –

3

Zawsze istnieje możliwość, że serwer dostawcy jest zagrożona i robią jakieś XSS.

2

Wygląda na to, że wiesz już o głównych: spowolnienie strony, a szansa, że ​​skrypty nienależące do hostingu innych firm mogą się zepsuć lub nie być obecne, powodując problemy.

To zależy również od wiarygodności tych stron trzecich. Zawsze jest zmiana, że ​​ich skrypt może zostać zastąpiony czymś złośliwym.

+0

Dla mnie ... to jest prawdziwy problem ... OP prowadzi do zewnętrznego skryptu, strona dostawcy zostaje zhakowana, a teraz dołącza do swojej strony złośliwe oprogramowanie ... – w4ik

0

Po co ponosić ciężar odpowiedzialności za kod, którego nie napisałeś? Jeśli coś pójdzie nie tak, założę się, że Twój menadżer nie będzie odpowiedzialny za sprzedawców - będą cię trzymać. Powiedz "nie" temu, nawet jeśli oznacza to zmianę pracy.

0

IE 8+ ma nową funkcję o nazwie W filtrowaniu prywatnym, która zasadniczo stwierdza, czy znajduje ten sam plik javascript z N (konfigurowalny) liczbę domen, które po prostu blokuje go po osiągnięciu limitu. Byłoby źle, gdyby było na przykład jquery. Jest to domyślnie wyłączone, ale nadal stanowi problem, jeśli użytkownicy go używają.