Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
examples:example4 [2009/10/20 15:50] aspectscript |
examples:example4 [2009/11/06 20:49] (current) aspectscript |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Access Control with Scoping Strategies ====== | ||
| + | |||
| Most modern Web applications allow third-party applications to provide extra | Most modern Web applications allow third-party applications to provide extra | ||
| functionality through an API. However, one of the most attractive features | functionality through an API. However, one of the most attractive features | ||
| Line 25: | Line 27: | ||
| < | < | ||
| - | | + | |
| + | < | ||
| + | <link href="/ | ||
| + | <script type=" | ||
| + | < | ||
| + | <iframe id=" | ||
| + | <a id=" | ||
| </ | </ | ||
| - | However, if the malicious application changes to: | + | \\ However, if the malicious application changes to: |
| <code java> | <code java> | ||
| var maliciousApplication = { | var maliciousApplication = { | ||
| - | | + | |
| action : function() { | action : function() { | ||
| | | ||
| + | } }; | ||
| + | </ | ||
| + | |||
| + | Or to: | ||
| + | |||
| + | <code java> | ||
| + | var maliciousApplication = { | ||
| + | fakeURL : ' | ||
| + | action : function() { | ||
| // modification scheduling in 100 ms | // modification scheduling in 100 ms | ||
| var fakeURL = this.fakeURL; | var fakeURL = this.fakeURL; | ||
| Line 40: | Line 58: | ||
| </ | </ | ||
| - | It is not possible to identify the malicious action of the application. A solution to this problem is to use a more expressive scoping | + | It is not possible to identify the malicious action of the application |
| - | The implementation follows: | + | The following window uses scoping strategies to avoid the indirect access to home link of the malicious application: |
| < | < | ||
| - | | + | < |
| + | <iframe id=" | ||
| + | <a id=" | ||
| </ | </ | ||