"... you mean these fans?" Posted October 21, 2019 Posted October 21, 2019 Hi, this may not be where this post belongs ... My issues is this, I have customers that pay monthly for a solution. Now when they finish then they are all done and they can go on their merry way. I have other customers who are in progress of paying for their solution. I had an issues with a customer who paid but move to another building. Upon changing their IP I was no longer available to them when they called me for an issue. Now this customer still has not provided me access ... which is fine, but I started thinking that if a customer stops paying and move and their IP address to their building changes is there a way to close the file until I/We we re-establish. My solution - I scripted in a check via the "Get(HostIPAddress)" function and it works great for me looking in via Baltimore, but this customer host via an internal FileMaker Server and connect via their LAN. This cause my script to trigger and close the file on a paying customer ... Oops! I thought to capture the LAN IP but doesn't that change ?? so I disable this part of the script. How can I alert if the customer changes their IP without telling me. I though I could alert via a script but this failed since they connect via LAN and the LAN IP address is different than the WAN IP address to the build. So I am stuck for the moment thinking how best to protect me and close the file if a customer stops paying and changes their IP to the build. I am OK if they are slow to pay as long as their IP address to the building does not change and I still can access the file on the FM Server. Anyway, any suggestions, ideas, something simple. I would rather not have to deal with a convoluted idea if at all possible, I would be grateful. Thank you.
Wim Decorte Posted October 22, 2019 Posted October 22, 2019 How do you access the file on their FMS? They would have to open their firewall for you to do that. I don't see many customers that would be willing to do that. If you embed a customer code into your solution then your solution could call one of your hosted FMS files (through the Data API perhaps so that you don't need an actual file reference to your file). On your side you check if that customer is still active and it is not your script closes the file. You can build in a 'grace period' of say 7 days; if their solution cannot contact your host service for more than 7 days then it shuts down too.
"... you mean these fans?" Posted October 22, 2019 Author Posted October 22, 2019 Win Decorte, Thank you. I use "Bold" text and "Underline" to highlight data I feel is of importance to the conversation and to guide the readers eye, not to convey emotion as unfortunately bold tends to convey :-( sad. 21 minutes ago, Wim Decorte said: How do you access the file on their FMS? They would have to open their firewall for you to do that. I don't see many customers that would be willing to do that. via the LAN IP: 192.168.2.2 I have a IP Address Field were I've typed in the IP address of the building and I use that field as a match when I "Get ( HostIPAddress ). Works great when I log in from outside, not so great when the users log in from inside ... :-( Is there a way via a php or java script or some other function I could use to ask the server what is it's IP address ? What about triggering a server side script on start up and within the server side script I use the "Get ( HostIPAddress )" would that work ? would that give me the IP address of the server ? 26 minutes ago, Wim Decorte said: If you embed a customer code into your solution then your solution could call one of your hosted FMS files (through the Data API perhaps so that you don't need an actual file reference to your file). We have only one file on the server so this custom code I would need to learn about more - any links ? What about triggering a server side script on start up and the server side script I use the "Get ( HostIPAddress ) would that work ? would that give me the IP address of the server ? 30 minutes ago, Wim Decorte said: You can build in a 'grace period' of say 7 days; if their solution cannot contact your host service for more than 7 days then it shuts down too. Confused here ... since they are hosting the FM server locally, can you clarify this a bit more. Thank you.
Wim Decorte Posted October 22, 2019 Posted October 22, 2019 Get(HostIPAddress) always gives you the IP address of the FM Server, you don't need to run that in a server-side script. It is always going to be the server's internal LAN address. If you want the external IP address assigned by their ISP then there are different ways to get that. But you totally lost me on your existing mechanism. In your original post it sounded like you log into their hosted version from the outside to check things. But how you do that is not clear. Also: what is the relevancy of "the building"? Is that where they host your solution? Where they have an FMS box? If you had the FMS's internal LAN address, what would that solve for you? If you had the FMS's external WAN address, what would that solve for you?
"... you mean these fans?" Posted October 22, 2019 Author Posted October 22, 2019 Wim Decorte, Sorry, did not mean to confuse anybody ... I was using the "Building" as the demarcation point when looking into the solution from Baltimore, the server is being hosted from within a company in Canada. So to me, outside the building is anybody logging into the sever via the following address ... fmp://Insert_ISP_IPAdress/Parfield.fmp12 When I log-in and the "On_Start_Up" script runs, I get the IP Address of the ISP assigned which I've already manually typed into a field in my preference table and I check this field with Get (HostIPAddress ) ... I also have a script that when I am logged in ... I can click on a button called "Update" and this script will update this field I've established to hold the ISP IP and this script when trigger, will enter into this field the ISP IP address. Works great for me ( again, logged in from Baltimore ) The user(s) who are in Canada, they are inside the building and are looking to the solution via the LAN IP: 192.168.2.2 ... so at this point I have a mismatch. 1 hour ago, Wim Decorte said: If you had the FMS's internal LAN address, what would that solve for you? If you had the FMS's external WAN address, what would that solve for you? My understanding and experience is that the LAN IP(s) are to easy to change. So I thought why not look at the ISP IP and check for that address and if the the customer changes that ISP IP ... we as the solution developers would no longer have access to the file and technically if we sold to a crafty individual they could move/give away their solution and we no longer have control over the file. And if they decided to stop making payments, then we would have no recourse other than to file paper and we do not have the resources for that. So again my thoughts were to find a simple easy way to alert the users that their IP address has changed and to please contact Administration ... then I close the file. Anyway Wim Decorte, thank you for your insight I am grateful.
Wim Decorte Posted October 22, 2019 Posted October 22, 2019 Unless the client is paying for a static WAN address from their ISP, their WAN address is probably going to change more frequently than their internal LAN address. Servers are typically set up with a static LAN IP address so that DNS can be done properly. So while it could change, it is not so likely. But regardless, you should not work with IP addresses at all. Use DNS addresses throughout so that you won't have this problem and also not the pesky security warnings in FM. I'm still struggling with the fact that it seems like you (as the developer) need access to the solution from the outside. Is that something you make your customers agree to? I think it would be a whole lot simpler to build something into the solution itself that reaches out to you than to rely on you being able to log into their copy.
Recommended Posts
This topic is 1869 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now