all groups > macromedia flash flashcom > january 2007 >
You're in the

macromedia flash flashcom

group:

Re: How can I restrict one stream per user?


Re: How can I restrict one stream per user? JayCharles
1/26/2007 7:20:34 PM
macromedia flash flashcom:
[q][i]Originally posted by: [b][b]calmchess333[/b][/b][/i]
well Jay Charles your last post is an intresting concept think I will work on
something similar myself.[/q]

It's an important one too, as it goes far beyond managing the activities of
your authorized users. Lots of people make the assumption that if the protect
the client app, they've protected the server app, and that's not the case. I
really think that should be in great big bold letters on page one of the docs,
or at very least addressed in the sample applications. FMS has zero built in
security against application abuse and bandwidth leeching, and it's up to the
programmer to protect their own apps. You'd be amazed how many people deploy
apps with no main.asc, or main.asc files that do nothing but load components.


Re: How can I restrict one stream per user? Trond Juan
1/31/2007 8:03:53 AM
Hiya,
Thanks for the input. Finding the LoadVars-command really solved this problem.
I guess the essence of my problem was knowing what to look for.
I convinced a server guy to implement a SHA checker, so what I did was calling
this URL, checking against the sent-in hash. If they match I check against a
local cache of the userIDs to resolve the clients, eventually either
reconnecting the stream or just making a new stream.

I have another challenge coming up at a later stage... I'm going to install
two (or more) FMS'es. At peak hours a load balancer will direct you to the one
server with the least pressure.
Any thoughts on how I can resolve the client from a userID at this point?
I mean, if I have three FMS'es I would need three lists of clients with
corresponding userIDs, so technically one user could connect three times.
#1 I could do a LoadVars and call both the other FMS'es requesting the user
ID, but a loadVars at peak hours is probably gonna take some time and further
overload my servers.
#2 I could out source a check on a appserver where I send in the user ID and
true or false is returned according to if the user is connected. (then I would
also need to call this service to erase the user when he disconnects. Would
this gain any performance over #1?
This is not a preferred solution as Im not able to program this myself, and I
guess threatening the server programmers with reducing bandwith from 10Mb to
14.4k wouldnt even make them consider it :(
#3 Could I cache the entire list in a remote shared object giving access to
all servers?
AddThis Social Bookmark Button