Secure MySQL editing on in-app purchase ? - Java for Android App Development

Hello,
I am a beginner on Android coding.
I own a Minecraft Pocket Edition server, and I would like to create an assistant app that would include in-app purchases to get in-game ranks. As a consequence, when a player purchases something, it needs to edit my MySQL database to give him his purchase on all servers.
I though to use PHP script to do so, but anyone uncompiling the app would be able to see how it works and get ranks for free.
I would like to know a secure way to edit a MySQL database on in-app purchase.
Thanks for your help
Edit : apparently it has something to do with the RSA key we get on our dev console. If I understand, when a purchase is made, an encrypted data is sent back to our application. From the application, I have to send that encrypted data to a php script. The php script has to verify that data signature is correct using the RSA key that I have to put in my script, and use open_ssl_verify.
Did I understand or not at all ?
Thanks again

Related

Android SQL Client

Hi All,
Does anyone know of a SQL client for Android? Just something for running basic queries when I need to check on a system and can't be arsed waiting for a computer to boot up. The databases I use are MS SQL Server.
I've searched about and can't find anything. I've also had a look at the dev docs for Android and it looks like it should be straight forward using the java.sql class but unfortunately Java isn't in my skill set at the moment and the day job & life in general doesn't leave me with much time to learn it.
If there isn't a program does anyone have any plans to write one ;-)
Cheers
Keith
Anyone ???
It'd be pretty darn insecure to open up your databases to use a remote client like that, why not just use something like phpmyadmin for it? It runs fine in the android browser and theres tons of alternatives that probably have iphone themes that would work great. Alternatively you could get debian set up and grab one of the hundreds of apps to do it in the repository
I need this as well. I'm constantly on SQL Enterprise Manager on my PC and when mobile, I have to teamviewer to my desktop and run queries there, which is such a torture.
I've bought RemoteDB, which I can't seem to get to work properly, I can't switch databases and the connection registry is very confusing.
Anybody?!
Also interested
I'm also interested in this topic.
As far as opening your db's up to the internet, that's a bogus argument. Anyone remotely managing enterprise databases will be using a vpn tunnel, and not the open web.
Having an Android app to connect to Microsoft SQL and Oracle would be extremely helpful. I've been trying to figure out how to mod Oracle's SQLDeveloper to do just that but without any success so far.
aSQL - Remote Control, new launch
Remote Control Client for Microsoft SQL Server 2005/2008/2008R2/2012.
aSQL - Remote Control Lite is a powerful Microsoft SQL Server client providing Access to your server in your Pocket. Access all of your databases, Jobs and Processes as well from your mobile device.Simple and Fast application providing advanced features.
aSQL - Remote Control Lite Provide features like:
- Providing connectivity to different servers on your Network.
- Ability to store Server Information for future use.
- Job START/STOP only a click away.
- Kill any running Processes From your mobile device.
- View Databases details - View File size.
Google Play Store link -
"market://details?id=com.sqlforce.aSQL"
SQL Client
Hi Guys
I looked for something like this for a while as well, and couldn't find anything that did what I wanted, so I made one myself
Key features I wanted are the following
Be able to connect directly to a db server. I used the jdts jdbc driver for Java to get this right
Be able to connect to any SQL Server db. I'll add support for Postgres and MySQL if this gains any popularity
List of all databases on the server (excluding system dbs) and allow you to quickly switch between them
List tables in the currently selected db, and generate Select statements for them
List stored procedures in the currently selected db, and pull the code for them so you can change it
Use a tabbed interface for the different sql queries, to allow you to run many queries at once
This is all done and works really well. Large queries take longer to run than they would on a pc, but they run nonetheless.
Let me know what you think, and feel free to suggest features. If enough people like it and use it, I'll bite the bullet and buy the developer so I can publish it on the Play store
I hope you enjoy it
ps. The installer is signed with the standard testing key, so you will need to go into your settings and allow applications from unknown sources
pps. I ask for internet access to get access to the network sockets, but dont actually connect to the internet.
danegoodwin -
I've downloaded it and played with it a bit - looks good. One feature I'd suggest off the top is storing the connection info. It's a pain having to enter the server address and username each time.
If you are still looking for a SQL client I had written one as well.
It should cover most of the popular databases and works well with tablets and phones.
SQLTool Pro
https://play.google.com/store/apps/details?id=com.nraboy.sqltool
I'm also open to suggestions and questions if anyone decides to give it a try.
nraboy said:
If you are still looking for a SQL client I had written one as well.
It should cover most of the popular databases and works well with tablets and phones.
SQLTool Pro
https://play.google.com/store/apps/details?id=com.nraboy.sqltool
I'm also open to suggestions and questions if anyone decides to give it a try.
Click to expand...
Click to collapse
so, this one does BOTH MySQL and MS SQL, and, your other one *just* MySQL ?
thanks, anyone
abbots said:
so, this one does BOTH MySQL and MS SQL, and, your other one *just* MySQL ?
thanks, anyone
Click to expand...
Click to collapse
Correct. The pro version will handle MySQL, MS SQL, PostgreSQL, Sybase, and Oracle up to version 10.1.
The MySQL version is strictly MySQL.
nraboy said:
Correct. The pro version will handle MySQL, MS SQL, PostgreSQL, Sybase, and Oracle up to version 10.1.
The MySQL version is strictly MySQL.
Click to expand...
Click to collapse
thanks for reply (and for nice app!)
nice, looks good... even better, seems to work well....connected to remote MySQL OK
suggestion: please auto-suggest correct ports for relevant SQLs
so, editing can only be done via queries ? (time to learn SQL syntax..?)
next, I'll try connecting to MS SQL, whilst I know a tiny bit about MySQL, I know nothing about MS, might be asking for help...
Nic,
need some help, if you can:
having issues with MS SQL, MS SQL is on a cloud server, for all I know, port could be blocked..
I've setup definition with port 1433, get 'failed to connect'
how to t/s outside of the app ?
should "telnet host 1433 " work ?
I'm getting
# telnet mssql2008.xx.yy 1433
Trying 202.111.22.33...
telnet: connect to address 202.111.22.33: Connection timed out
what else can I try ?
thanks for any pointers!
abbots said:
thanks for reply (and for nice app!)
nice, looks good... even better, seems to work well....connected to remote MySQL OK
suggestion: please auto-suggest correct ports for relevant SQLs
so, editing can only be done via queries ? (time to learn SQL syntax..?)
next, I'll try connecting to MS SQL, whilst I know a tiny bit about MySQL, I know nothing about MS, might be asking for help...
Nic,
need some help, if you can:
having issues with MS SQL, MS SQL is on a cloud server, for all I know, port could be blocked..
I've setup definition with port 1433, get 'failed to connect'
how to t/s outside of the app ?
should "telnet host 1433 " work ?
I'm getting
# telnet mssql2008.xx.yy 1433
Trying 202.111.22.33...
telnet: connect to address 202.111.22.33: Connection timed out
what else can I try ?
thanks for any pointers!
Click to expand...
Click to collapse
Hinting a default port is a good idea. I will see about adding in an upcoming release.
Yes right now anything beyond a simple select or delete must be done with a custom query. My goal is to make it more like the desktop editors, but since I am the only developer it might take a while. But I am not saying it won't happen.
If telnet is failing to connect then there is a firewall rule blocking your IP. Three things could fix this.
1. Add your IP to the database allow list (talk to the DBA)
2. If you can connect to the network the DB is on via VPN then you should. The db might be restricted to local IP
3. Use the SSH features of SQLTool to connect to a server on the databases allow list
You were smart to try the telnet. I would have done the same thing.
Feel free to contact me here or through the tools site. I'm happy to help
nraboy said:
You were smart to try the telnet. I would have done the same thing.
Click to expand...
Click to collapse
ahem, not that smart.....
forgot to specify sql type...... ooops
suggestion: don't allow save unless all req. stuff filled in...
OK, I seem to be in.
can I dump/backup with this app ?
thanks.
decent app, well done, wish you success in further development, if I can help in any way, happy to try
now I need to figure out how to dump this MS SQL into my Linux machine
abbots said:
ahem, not that smart.....
forgot to specify sql type...... ooops
suggestion: don't allow save unless all req. stuff filled in...
OK, I seem to be in.
can I dump/backup with this app ?
thanks.
decent app, well done, wish you success in further development, if I can help in any way, happy to try
Click to expand...
Click to collapse
Nice catch on the SQL Type. I will work to correct that.
For dump / backup are you referring to data or structure or both? Right now I have exporting DDL on my things to do list, but if you're referring to something else I'd like to hear it.
Thanks for the compliments on my app. I definitely want to hear more suggestions if you have them. Also please don't forget to rate well when you get a chance

Advice on the choice of querying a remote DB

Hello everyone,
I come to you for some advice about an application I'm developing for Android 1.6 and higher.
Specifically, this application must be able to query a remote MySQL database and display the retrieved data. It need also be able to UPDATE data on this databse and that is where things get complicated ...
For selection queries, I wrote a small PHP script on the remote server that retrieves the desired data in the database and encodes them in JSON. From my Android application, I have no problem to retrieve, process and display them.
Now I wonder about the solution (if there is one ...) to run UPDATE from my application on the remote database. For now, I see only two solutions:
- Develop a webService on the server with an update method. Several problems with that: it seems webServices on Android are not easy (not native, have to go through external libs). Moreover, as it's UPDATE query, I want to make sure nobody else can use this webService.
- Alternatively, write a PHP script that makes the UPDATE and call it via HTTP. Same problem as webService: I want to secure this call to be sure that only I can use this script. These scripts can be integrated into an application already present on my server and which is secured by login / password. So, if it is possible to manage PHP sessions from Android, it's won! but Ican't find anything about it ...
What do you think? Ideas?
Thx!

[Q] How to take data from an online database?

Hello, I'm developing an android app that needs access to a .xml database that will be updated from time to time by various Admins.
How do I do so that, when I create a new field, it synchronized with the android application? I read about the SQLite database, but I did not understand if it can be done so that it can be changed once you have compiled the app...
PS: Sorry for my english
Firstly, you need a PHP script, or any web language script that is able to grab data from the database and echo them out on the browser.
Then your app would just need to make a HTTP request to the URL and get the data. As simple as that.
SQLite Database is Android's internal database used and created by each individual app. It has nothing to do with web's database.
XML parsing.. someone told me about it
I like the partially online/mostly offline approach... this may consume big amount of internal storage, but maybe what the OP is looking for... For accessing online database, a PHP interface is the most common, with this we can consult the online db, parse the data, insert it into the local database and work there...
Sent from my GT-S5830M using Tapatalk 2
You need a server side script in any laguage to fetch data from database. Then create a HTTP request to the url and get the data from online database.

Commerce Application

Hello,
Early apologies if this is an incorrect forum but it's what i found about app development. If so can someone link me to something relevant?
I am going to preface this post by saying I have been using OOP languages for a long time now yet all localized self contained programs usually in python. I've gotten fairly used to some of the android API and parsing XML data to java and the reverse however I'm completely ignorant when it comes to php parsing.
I'm working on an android project for a client. I want to do an commerce application. Starting off I have already established XML UI's for a logging in, new user, main menu, and product search page. My main concern at this point is getting the remote data. Please correct me if I'm wrong but this was my plan for data handling.
Three different PHP scripts on a remote go-daddy server to access a database that holds a user data table as well as a product data table structure is as you'd expect user:{first_name, last_name, password, ect....} product:{SKU, UPC, Name, ect...}.
One of these PHP scripts pulls data from the products table for the products activity. One compares log-in credentials for the log-in activity so people can find purchase history ect... and one inserts rows to the user table for the new user activity.
Again if this isn't optimal some advice would be helpful. If this setup works however I already have a written PHP script(again held on the remote server) that parses the data into JSON format. My next step would be to write the java for the products activity to run the script and parse the JSON back into a usable format. Is there a specific java library to do this? Any UML depictions or tutorial links would be appreciated,
Secondly a big concern would be the new user script specifically how do i pass data from the java activity into the php "Insert script" i've read some on GET and it seems to be applicable to html but not java also this would be stupid for password security. again any help on any of these matters would be appreciated.
Have a look at Google's Gson library. It's great.

[Q] How to program on web server side?

I want to develop a app like Push Bullet.
For Desktop and Mobile i could use Java and Android language.
But on server side,i don't know how to program?
Do i need to use PHP with JSON or Create a Custom Server?
Server-side development is a very, very broad category. If you like Java, you can definitely write the backend (what runs on the server) in Java. Google App Engine allows you to write backends in Java, and there's a pretty generous free quota. You can pretty much write a backend in anything you want, though, from Python (Flask is a very easy place to start) to C++. If you want to send push notifications (i.e. PushBullet functionality) you should look into Google Cloud Messaging.
maclynb said:
Server-side development is a very, very broad category. If you like Java, you can definitely write the backend (what runs on the server) in Java. Google App Engine allows you to write backends in Java, and there's a pretty generous free quota. You can pretty much write a backend in anything you want, though, from Python (Flask is a very easy place to start) to C++. If you want to send push notifications (i.e. PushBullet functionality) you should look into Google Cloud Messaging.
Click to expand...
Click to collapse
Now i don't want to buy any servers.Because first i need to test the app.
Is there any other way?
Flask (and most backend frameworks) let you run a server from your computer during testing, so you don't incur any initial cost. Google App Engine has a free quota, so you wouldn't need to buy right off the bat.
Backend programming languages that I would recommend:
1.PHP (super easy)
2. Java
If you don't want to purchase your own server, you have following options:
1. Use XAMPP or WAMP and host your server pages on your own local machine
2. Purchase free web hosting space (cost: $0) from hostinger. in or 000webhost or use google cloud or any similar cloud service provider
Apache Tomcat (java ap server)

Categories

Resources