2011-07-14 5 views
5

Włączam JSONP na moim CouchDB, aby móc wywoływać żądania ajax do moich widoków. Oznacza to, że każdy może wysłać zapytanie ajax do moich widoków CouchDB.Jakikolwiek sposób ograniczenia dostępu do widoku CouchDB, gdy włączony jest JSONP?

Czy istnieje sposób, aby temu zapobiec?

Jeśli nie, to czy istnieje sposób ograniczenia dostępu do widoków (przy wyłączonym JSONP), aby tylko moja aplikacja mogła je wyświetlić (przy użyciu serwera proxy)?

Odpowiedz

5

Funkcje między domenami są nadal trudne. Nie sądzę, że JSONP zezwala na uwierzytelnione żądania, dlatego wybór z JSONP odbywa się między całkowicie publicznymi danymi a całkowicie prywatnymi danymi.

(Nawiasem mówiąc, jeśli chodzi o prywatność, trzeba pamiętać, że twoi wrogowie lub skrypciarzy lub ktokolwiek może po prostu przeczytać źródło strony i kwerendy swoje poglądy z curl).

Prawidłowe rozwiązanie bezpieczeństwa cross-domain jest Cross Object Resource Sharing (CORS). Istnieje CouchDB CORS patch. Nawiasem mówiąc, Iris Couch (gdzie pracuję) robi nieoficjalnie obsługuje tę poprawkę i aktywuje ją, jeśli się z nimi skontaktujesz.

Jeśli korzystasz z proxy, zaletą jest duża elastyczność i kontrola bezpieczeństwa. (Minusem jest oczywiście to, że teraz musisz utrzymywać nowy serwer, a także musisz być czujny, że ktoś wytykał dziurę w twojej polityce bezpieczeństwa, której nie zrozumiałeś.)

Powiązane problemy