Re: [vz-dev] jsonp support für vz

2013-04-07 Diskussionsfäden Andreas Goetz

Hallo Jakob,

danke für den Hinweis! padding=? funktioniert tatsächlich auch (hatte 
ich in der Doku anders verstanden)- damit ist alles Paletti, danke! 
Jetzt fehlt nur noch ein eleganter weg, zusätzliche MWs in der 
Konfiguration anzugeben.


Viele Grüsse,
Andreas

On 07.04.2013 02:33, Jakob Hirsch wrote:

On 04.04.2013 19:14, Andreas Goetz wrote:

Das hab ich glatt übersehen :/, content-type ist definition falsch. Ich
fände dennoch callback statt padding als Parameter schöner- dann
liesse sich nämlich auch jQuery getJSON nutzen. Mit der jetzigen Lösung

Wenn ich die Beschreibung von getJSON richtig verstanden habe (es ist
leider nicht explizit beschrieben), funktioniert das mit jedem
Parameter, der vor =? steht, in unserem Fall also padding=?.
Ich finde padding als Parametername auch nicht so prall (auch wenn es
technisch korrekt ist), aber ohne Not ändert man sowas nicht.


muss man zwangsweise auf $.ajax ausweichen um die notwendigen Parameter
reinzufummeln. Aber ja- es ist möglich ;)

Also der Unterschied zwischen
$.getJSON(url, data, success)
und
   $.ajax({dataType: json, url: url, data: data, success: success});
ist jetzt nicht soo riesig...





Re: [vz-dev] jsonp support für vz

2013-04-07 Diskussionsfäden Jakob Hirsch
On 07.04.2013 13:23, Andreas Goetz wrote:
 Jetzt fehlt nur noch ein eleganter weg, zusätzliche MWs in der
 Konfiguration anzugeben.

In der Konfiguration von was?


Re: [vz-dev] jsonp support für vz

2013-04-06 Diskussionsfäden Jakob Hirsch
On 04.04.2013 19:14, Andreas Goetz wrote:
 Das hab ich glatt übersehen :/, content-type ist definition falsch. Ich
 fände dennoch callback statt padding als Parameter schöner- dann
 liesse sich nämlich auch jQuery getJSON nutzen. Mit der jetzigen Lösung

Wenn ich die Beschreibung von getJSON richtig verstanden habe (es ist
leider nicht explizit beschrieben), funktioniert das mit jedem
Parameter, der vor =? steht, in unserem Fall also padding=?.
Ich finde padding als Parametername auch nicht so prall (auch wenn es
technisch korrekt ist), aber ohne Not ändert man sowas nicht.

 muss man zwangsweise auf $.ajax ausweichen um die notwendigen Parameter
 reinzufummeln. Aber ja- es ist möglich ;)

Also der Unterschied zwischen
   $.getJSON(url, data, success)
und
  $.ajax({dataType: json, url: url, data: data, success: success});
ist jetzt nicht soo riesig...


Re: [vz-dev] jsonp support für vz

2013-04-04 Diskussionsfäden Jakob Hirsch
Hi,

Andreas Goetz, 03.04.2013 08:46:
 ich hatte den Wunsch, remote (d.h. per iphone-app) auf die mw
 zuzugreifen. Aus Sicherheitsgründen ist das nur per JsonP, nicht jedoch
 json möglich.
 interessante sache irgendwie...
 es ist doch eigentlich im frontend vorgesehen, kanaele von verschiedenen
 middlewares abbonieren zu koennen - funktionierte das bisher garnicht?!
 Kann nicht. Allerdings habe ich auch keinen Platz in rigendeiner Config
 gefunden wo ich eine zweite MW hätte eintragen können- für's durch JS
 hacken fehlte mir bisher die Zeit. Wäre aber eine spannende Aufgabe auch
 daran ein wenig zu basteln.

Das ist jetzt auch schon möglich. Kann man einfach selbst testen, indem
man in seinem Frontend einen der öffentlichen Kanäle von
demo.volkszaehler.org abonniert.

 https://github.com/volkszaehler/volkszaehler.org/pull/44

Ich paste einfach mal meinen Kommentar von dort:

JSONP wird bereits über den Parameter padding unterstützt, siehe
http://wiki.volkszaehler.org/development/api/reference?s[]=padding#json
Dieser wird auch schon vom frontend benutzt, wenn man eine andere als
die lokale middleware ausgewählt hat.

Allerdings belässt padding den Content-type auf application/json, das
sollte wohl wie bei dir application/javascript sein, das sollten wir
noch fixen.

 In der jetzigen Version ist das allerdings ein potentielles
 Sicherhitsrisiko- es lassen sich ja nicht nur Daten abfragen sondern
 auch löschen. Was fehlt ist m.E. eine Konfigurationsoption mit der jsonp
 standardmäßig erstmal deaktiviert ist.

Warum sollte JSONP für die middleware ein Sicherheitsrisiko sein? Wenn
man die UUID kennt und die middleware erreichen kann, kann man das auch
so über die API machen.

Was ich an JSONP skurril finde (zumindest soweit ich das verstanden
habe): Wegen der same-origin-policy kann man nicht einfach JSON
benutzen. Um das zu umgehen, lädt man sich javascript-code von einem
fremden Server!?! Ich habe zumindest nirgendwo gesehen, daß geprüft
wird, ob der Server tatsächlich sowas wie callback_methode({daten...})
zurückgibt, oder nicht beliebigen anderen javascript-code, der z.B. die
cookies ausliest und für alle Kanäle ein delete macht.




Re: [vz-dev] jsonp support für vz

2013-04-03 Diskussionsfäden Thorben Thuermer
On Mon, 01 Apr 2013 17:33:46 +0200
Andreas Goetz cpui...@gmail.com wrote:
 Hallo Zusammen,
 
 ich hatte den Wunsch, remote (d.h. per iphone-app) auf die mw 
 zuzugreifen. Aus Sicherheitsgründen ist das nur per JsonP, nicht jedoch 
 json möglich. 

interessante sache irgendwie...
es ist doch eigentlich im frontend vorgesehen, kanaele von verschiedenen
middlewares abbonieren zu koennen - funktionierte das bisher garnicht?!

(fuer die die die problematik nicht kennen: http://en.wikipedia.org/wiki/JSONP )

 Wenn Interesse besteht hätte ich hier einen Patch mit dem 
 sich JsonP darstellen lässt- es fehlt nur noch eine 
 Default-Konfigurationsoption um das Verhalten standardmäßig zu deaktivieren.

warum schickst du den patch nicht einfach?
oder noch besser, einen pull-request auf github.

interessant waehre noch die technische umsetzung...
ein zusaetzlicher parameter um das format anzugeben,
und den namen der callback funktion?

ich denke das standard-rueckgabeformat der middleware zu aendern
waehre keine gute idee, zumal es auch andere clients als das standard-frontend
gibt.

 Frohe Ostern,
 Andreas

- Thorben


Re: [vz-dev] jsonp support für vz

2013-04-03 Diskussionsfäden Andreas Goetz

Hallo Thorben,

On 03.04.2013 08:03, Thorben Thuermer wrote:

On Mon, 01 Apr 2013 17:33:46 +0200
Andreas Goetz cpui...@gmail.com wrote:

Hallo Zusammen,

ich hatte den Wunsch, remote (d.h. per iphone-app) auf die mw
zuzugreifen. Aus Sicherheitsgründen ist das nur per JsonP, nicht jedoch
json möglich.

interessante sache irgendwie...
es ist doch eigentlich im frontend vorgesehen, kanaele von verschiedenen
middlewares abbonieren zu koennen - funktionierte das bisher garnicht?!


Kann nicht. Allerdings habe ich auch keinen Platz in rigendeiner Config 
gefunden wo ich eine zweite MW hätte eintragen können- für's durch JS 
hacken fehlte mir bisher die Zeit. Wäre aber eine spannende Aufgabe auch 
daran ein wenig zu basteln.



(fuer die die die problematik nicht kennen: http://en.wikipedia.org/wiki/JSONP )


Wenn Interesse besteht hätte ich hier einen Patch mit dem
sich JsonP darstellen lässt- es fehlt nur noch eine
Default-Konfigurationsoption um das Verhalten standardmäßig zu deaktivieren.

warum schickst du den patch nicht einfach?
oder noch besser, einen pull-request auf github.

Da war ich schneller ;)

https://github.com/volkszaehler/volkszaehler.org/pull/44

In der jetzigen Version ist das allerdings ein potentielles 
Sicherhitsrisiko- es lassen sich ja nicht nur Daten abfragen sondern 
auch löschen. Was fehlt ist m.E. eine Konfigurationsoption mit der jsonp 
standardmäßig erstmal deaktiviert ist.



interessant waehre noch die technische umsetzung...
ein zusaetzlicher parameter um das format anzugeben,
und den namen der callback funktion?
Sind nur 3 Zeilen- siehe patch. Aufgerufen wird es- wenn man jQuery 
einsetzt- indem einfach callback=? an die Anfrage gehängt wird, jQ 
bastelt daraus dann einen eindeutigen Funktionsnahmen den es auf dem 
Rückweg auch aufruft und die Daten rausholt.



ich denke das standard-rueckgabeformat der middleware zu aendern
waehre keine gute idee, zumal es auch andere clients als das standard-frontend
gibt.
Nicht nötig- es wird ja über den Request gesteuert, der Client kann also 
entscheiden.



Frohe Ostern,
Andreas

- Thorben


Viele Grüße,
Andreas


[vz-dev] jsonp support für vz

2013-04-01 Diskussionsfäden Andreas Goetz

Hallo Zusammen,

ich hatte den Wunsch, remote (d.h. per iphone-app) auf die mw 
zuzugreifen. Aus Sicherheitsgründen ist das nur per JsonP, nicht jedoch 
json möglich. Wenn Interesse besteht hätte ich hier einen Patch mit dem 
sich JsonP darstellen lässt- es fehlt nur noch eine 
Default-Konfigurationsoption um das Verhalten standardmäßig zu deaktivieren.


Frohe Ostern,
Andreas