So I am making a python program which sends a communication to customers reminding them about the due date for their insurance premium payment.
I thought of making a small tkinter user interface which takes in date of birth and policy number of the customer for authentication, and then just show a button "Pay" to somewhat represent the payment process. This user interface would be connected to my main python program which runs the mysql database.
Since I am sending an email to the customer reminding him of the payment, it would be obvious to include the payment link also.
So is there a way to create a link and send it in an email, which has the payment interface, and later get back inputted information from that link.
In simple terms, the main program and the backend will remain with me, while I send a copy of the payment interface to the customer via email. Then there must be some way I can get any inputted information back to me.
All help big and small is appreciated. Thanks!
I would personally, make a link for the download and send it to the person to make the payment. How to make an exe? Use pyinstaller, and if the code is big and have dependencies then I would making a setup with Inno setup. and upload it to an online storage and send that link of download to the client.
Then with pyinstaller make an exe with a directory.
pyinstaller -D -w myscript.py
This is to be said in the command prompt.
And then after making a setup, get that setup into a online storage like Dropbox or Google Drive or Mega.
Anyway keep in mind that to send mails with links maight go into the spam folder. Also this app will give them a warning for virus as the app requires a digital signature that you have to purchase, to make the app not detected by Windows Defender or so.
Apart from all these, you will need a remote database in order to send the data to a database to be accessed by you.
Anyway hope you found this helpful.
Cheers
Related
I'm making a simple project where I will have a downloadable scraper on an HTML website. The scraper is made in Python and is converted to a .exe file for downloading purposes. Inside the python code, however, I included a Google app password to an email account, because the scraper sends an email and I need the server to login with an available Google account. Whilst .exe files are hard to get source code for, I've seen that there are ways to do so, and I'm wondering, how could I make it so that anyone who has downloaded the scraper.exe file cannot see the email login details that I will be using to send them an email when the scraper needs to? If possible, maybe even block them from accessing any of the .exe source code or bytecode altogether? I'm using the Python libraries bs4 and requests.
Additionally, this is off-topic, however, as it is my first time developing a downloadable file, even whilst converting the Python file to a .exe file, my antivirus picked it up as a suspicious file. This is like a 50 line web scraper and obviously doesn't have any malicious code within it. How can I make the code be less suspicious to antivirus programs?
Sadly even today,there is no perfect solution to this problem.
The ideal usecase is to provide this secret_password from web application,but in your case seems unlikelly since you are building a rather small desktop app.
The best and easiest way is to create a function providing this secret_password in a separate file,and compile this file with Cython,thing that will obcufate your script(and your secret_password) at a very good extend.Will this protect you from lets say Anonymous or a state security agency?No.Here comes the reasonable thinking about how secret and important really your password is and from who you mainly can be harmed.
Finally before compiling you can 'salt' your script or further obscufate it with bcrypt or other libaries.
As for your second question antiviruses and specifically windows don't like programms running without installers and unsigned.
You can use inno setup to create a real life program installer.
If you want to deal with UAC or other issues related to unsigned programms you can sign your programm(will cost money).
Firstly, why is it even sending them an email? Since they'll be running the .exe, it can pop up a window and offer to save the file. If an email must be sent, it can be from the user's gmail rather than yours.
Secondly, using your gmail account in this way may be against the terms of service. You could get your account suspended, and it may technically be a felony in the US. Consult a lawyer if this is a concern.
To your question, there's basically no way to obfuscate the password that will be more than a mild annoyance to anyone with the least interest. At the end of the day, (a) the script runs under the control of the user, potentially in a VM or a container, potentially with network communications captured; and (b) at some point it has to decrypt and send the password. Decoding and following either the script, or the network communications that it makes will be relatively straightforward for anyone who wants to put in quite modest effort.
I have had trouble trying to protect my software from being copied by another person. I want to be able to give the software to them then send them a one time key to open the software making it workable, preventing it from being copied and distributed. Any help appreciated. Want to make a login server for cutomers to login to.
Here comes a biggy. Make an account server. Open an internet port on it. Make a lib which will send (use Python ssl lib) the product key, login and password (all three userinput). If the server accepts them (account exists, password is correct) it will register that key to that account. Key will be in the database, and when it is redeemed then it is exchanged for game copy license on your server. Then game will check whether the loginned account has that game, and if it has then the game starts. For antitamper use Cython. DeNuvo can also be used.
https://www.youtube.com/watch?v=WrtebUkUssc. Helpful link I thought for sockets and contacting outside account server. Also: https://www.youtube.com/watch?v=DIPZoZheMTo
I am developing a python program which uses the gmail api to access the email data.
I have successfully developed the tutorial program and I am able to access the gmail data and do a lot of interesting things.
At the moment, I have to get the .json file from the gmail account, modify the code, run it, and then ask the user to get a verification code from the web browser, to finally authenticate the app so it can start running.
Now, my question is: how can I make the authentication process easier for the end-user?
It seems to me like this process is during the development of the software, but what if I have finished my development process and I want to make the app commercially/freely available to other users so they can start poking around with it?
Isn't there a way to quickly modify my software to make that process easier for the end user?
Any kind of help is well received, sorry if this had been asked before.
I'm a Social Media Manager for Musicians and Bands across the globe, and have run in to a snag and am looking for anyones opinion who can help on the matter!
I'm using a service called Ping.FM that I use for updating status messages across multiple social networks. Unfortunately, it doesn't seem the development team is in the works anymore and two of the networks no longer work, Tagged and MyYearBook. Now, these two services have no custom service API, email update, or really any kind of function for updating status messages other then using a mouse, keyboard, and browser.
Now the second part. I have a shared web host (HostGator) that I use to run and leave Python scripts running to do my bidding whenever needed. What I'm thinking of is writing a script that will monitor an email account. When an email is received, it'll post the body as a status message.
Now the tricky part, how to post the status message. The shared host is all terminal only, no GUI. If there was a GUI, I would just use something like iMacro with Firefox and a Python script to alter it in order to post the status messages. Unfortunately though, no GUI, so as far as I'm aware it's not possible.
Is there any method of doing an idea like this, but without a GUI? Something terminal based, that can achieve the same idea? Any help is appreciated, thanks in advance!
All websites have an API, called HTTP. You can use mechanize to access it, so long as it doesn't use JavaScript for dynamic display.
I would like to generate reports in pdf format with following scenario: people would enter information on a web site and after submitting, data would be transfered to jasper reports server and pdf would be created.
Python would be language of choice for my task.
Is this scenario plausible with current jasper reports software (open source or similar), could it be done, and what would be steps in the right direction ?
Is this scenario plausible with current jasper reports software (open source or similar),
Yes.
could it be done
Yes.
and what would be steps in the right direction ?
Write a web server in Python. Your web server will allow a user to enter information on a web site and after submitting, data would be transfered to jasper reports server and pdf would be created. Your web server would provide the PDF back to the user.
You need to pick a framework, install the components, write the unit tests, write the code, debug the code and transition the code to production.
It's hard (given the question) to determine what part of this you actually need help with.
Write the interface for the user with the language of your choice. Then, having the data from the user, make an API request to the jasperserver's API requesting the report.
Make sure to account for the time the report may need to be generated if you want to make it synchronous.
Otherwise, the API allows you to generate a report and poll for it's completion. When it's done, just send the file to the user.
If you use the second approach, don't point the client ajax polling mechanism to the jasperserver as you might not want it to be accessible from the internet directly. You should do that in the backend of your app.
More information about the REST web services for Jasper Server here: https://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v550/rest-web-services-overview
Good luck! :)
Use jasper reports server to publish the report and use its rest interface to produce the output. See Render HTML to PDF in Django site that shows a practical implementation of a python rest client