How can I sold my software? - php

I don't know if I can ask this here but well.
I have created my software, it's developed in php 5.4, laravel 4, xampp v3.2.1, and I work the software local (localhost/public/something).
So my question is:
If I want to sell my software, how can I install it in the pc of a user?
I dont know about servers, but I think it's better to have the data in a free server isn't it? Any recommended tutorial?
I don't want to install the xampp server to the client and all the stuff of a developer, just install the software and have it easy for the user.
Any help will be grateful.

You can't sell PHP software with the expectation that a user installs it. This is functionally possible but involves so much setup that you'd never guarantee a user would be able to use it on even a small range of systems. They'd have to setup a web server, database server, all the various connections etc. or you'd have to write an installer which did all that for them.
You're also disclosing your entire code base to any user who buys your software, which means there are no mechanisms you could use to prevent both your software and code being shared freely - which is nice if you're writing open source, but not if you plan to make much money.
The best way to sell software in the form of a website is to provide a restricted user mechanism such that you can enable or disable a users' access via a website, and control this access based on a subscription or one time sale to the customer.

You're speaking of xampp so it seems you have created a website/application. Hence you should not have to "install it in the pc of a user". A website is made to be available from any machine with a browser.
Xampp is a local server on your computer. What you need is a server to make it available to other person than you.
You have a wide variety of possibilities to host your code and make it available:
Shared hosting
IaaS/PaaS hosting (http://www.tomsitpro.com/articles/paas-providers,1-1517.html)
You'll also need a domain name to make it reachable (ex: stackoverflow.com)

Related

Security issue from php due to suspicious behaviour in my server from other country

I am developing a web application. We are about release my first application but i found some unexpected bahaviour on my server.
Could anyone tell me what he tried to do?
one of my colleague told me that we should not PHP anymore.
I am planning to change our framework to Laravel. but i am just afraid that if security is real issue then i am willing to move but the reason that my colleague is saying does not persuasive to me.
it does look like a scan by a bot to me and it doesnt look harmful. There are bots scanning websites these days. thats normal.
make sure your website is using SSL. In your AWS security group, just accept https traffic (port 443) only.
In regards using PHP, php is a popular language used by million of websites on the internet. As others highlighted, follow the security standards and you are good to go.
Did you run any security scanner tool against your web application ?
These logs looks like generated by your hosting server WAF(web application firewall) and it seems someone tried a script/scanner against you web application, because you are not using WP but in logs script tried to find wp-config.php through LFI(path travel attack), do one simple thing, use a free or trial automatic web application scanner and check logs again, some free scanner are owasp zap, arachni scanner, paid scanner like burp-suite.
Also check following best practices for security :
Check for any other files which created automatically and not by you
or framework, specially .php, and scan those files at
"virustotal.com" to verify if actually attacker successfully uploaded a shell (virus).
If your web-application has file upload option, please verify you
allowing only .jpg or .png not php or other files.
Use latest version in PHP, because a new attack now days targeting
vulnerable PHP server, attacker pick IP range and run script against, this most happens with AWS.
In AWS only allow 80/443 port to public IP, not all ports.
Use latest version of framework (codeigniter).
Thanks

REST API advice for beginner

I'm pretty new in this part of programming so any help would be appreciated.
I've made an app and now I want to allow the user to buy via Braintree. I have implemented it with help of some tutorials using PHP SDK, tested on phone using XAMPP and ngrok. It works perfectly (generates token, makes a payment using testing cards) but now I want to move it online. Just simply move that folder from XAMPP instalation folder somewhere online so I (and all other useres) don't need to use ngrok.
Actually, want to replace
final String API_GET_TOKEN = "https:/smthng-random.ngrok.io/braintree/main.php";
final String API_PAY = "http://smthng-random.ngrok.io//braintree/pay.php";
with
final String API_GET_TOKEN = "https:/WHATEVER/main.php";
final String API_GET_PAY = "https:/WHATEVER/pay.php";
so that can give me the same what I've got with xampp and ngrok.
Thanks in advance
btw: PHP is not my better side of programming so it would be great just to move those 2 files (main.php & pay.php) just like they are :) And I've just found that firebase might be option but just exploring for now :)
I think your request is unclear - it's not REST API advice at all, it's about deploying an application to a live environment.
You have successfully installed your web development environment locally (XAMP, nginx) and now it's time to go live.
You basically need a Linux server capable of running, well, apache mysql, php (get where that XAMP comes from?)
This is only an overview, search how to do each of the topics I'll describe:
1. Find a host. (You should go to the shared, vps hostings if you're inexperienced, otherwise, there are way better hosts like linode, digital ocean and AWS, but those can be a little more challenging for beginners.
2. Buy a domain
3. Point the domain's DNS to your host's IP address or NS
4. Now, upload those files you mentioned to the servers public folder. Servers public folders might differ, specially from shared / vps hostings to full-blown Linux instances. If you go the "cloud" way (digital ocean, etc) usually you'll drop the files at /var/www/html
You'll have to set up virtual hosts if you decide to go for the full blown Linux instances
The files should be accessible now. Make sure versions are consistent between your machine and your servers.

Drupal 7 to Local Server

I currently work for a company that is developing a web and mobile application. I've been programming for a while now, but am less familiar with web development. I previously had been writing specialized python scripts for the company; they wanted me to transition into developing their web app. The web dev is currently being outsourced, so there aren't employees at the company that are familiar with how the website was developed. The third party is aware of my task, but is not very helpful and would prefer I only make changes locally.
What I need to do :
I need to put the Drupal site onto a local server, so I can make changes without breaking what was previously built or being on the outsourced web server.
Site specs:
Drupal 7.52
mySQL
PHP 5.6.30-1
Apache/2.2.22
My specs:
Windows 10
I have the website files (code and database). I keep encountering the same error, and have tried a number of different solutions and web stacks. When I go to upload our database into phpMyAdmin, I get an error about the database being too large (unzipped, around 118,000 KB, zipped, around 12,000 KB). I have tried a number of workarounds, and keep falling short. I've changed max_allowed_packets, $cfg['UploadDir'], and many more recommendations given here on Stack Overflow.
I've uninstalled everything from my system, so I can just start over from scratch. If anyone can give a set of instructions for how I would take the website files, upload the large database, and then have a copy of the website on a local server, that would be miraculously helpful.
Thank you!
You could use a virtual machine like this project https://www.drupal.org/project/vdd, which has what you need for local development and you will not need to mess up with our local OS

Clueless on how to put my PHP project in the Internet

Good day!
I've searched for many sites on how I could deploy my PHP projet in the internet but I don't know how to do it because I am confused with some of the technical terms.
You see, I am using xampp for my local web server. Now I want to put it in the internet. I found some free web hosting sites so i've decided to upload all my htdocs files inside it.. But how can I put the xampp (apache server) and my mysql database on it? I'm confused. Please help. A step-by-step procedure of what should i do could be really helpful. Thank you in advance.
Get a hosting account (try www.bluehost.com for instance).They will set you up with a Linux server and MySQL. You don't have to install Apache or MySQL, you will use whatever they've got. All you need to do is upload your PHP files to the right folder, setup your database on their server and you should be good to go.
If you buy a domain-name and space, connect them using the NS settings
If you are using a free, then the settings are already okay.
Export the database from your XAMP.
Login to the remote server. There you'll find PHPMyAdmin. Import the database.
Upload the file.
Make sure file listing is off. That is if a user goes to any directory he can not see the file list!
Done :)
Simplifying a bit, there are two ways you can get your site online.
First, you could purchase or rent a server that is yours and yours alone. This is commonly called "dedicated hosting" and costs somewhere around $100 / month. If you choose this option, you have your own server housed in a datacenter somewhere, and you must install Apache, MySQL, and any other server software you care to use.
I doubt, given what you've described, you have chosen this option.
Second, you could rent "shared hosting" from any one of the dozens of hosting providers out there. If you do this, with a typical cost of $2 to $10 per month, the hosting provider is administering the server. You have no direct access at all. Your only access is through the tools they provide.
Given that, how specifically you can upload files is up to them (is it FTP? SSH? a horrifying web-based upload tool of some kind?) Similarly, how you access your MySQL databases (assuming they offer MySQL databases) is entirely up to them as well.
Many providers now use a tool called cPanel for this administration, so you may try browsing to www.example.com/cPanel (using your domain) on the off chance that works. If not, though, follow the instructions your host provides. Only they can correctly describe how their setup works.
The hosting will be already having apache and mysql installed you only have to put your files thats it
I suggest you contact your webhosting site. The web hosting needs to host php, and mysql. Then you can upload your files to their web server, and copy your mysql database to their mysql server.
You do not need to transfer xampp to your host: apache and mysql are running on nearly every server
Upload all your files in your htdocs directory via ftp to your server
To transfer your database, use phpMyAdmin. It is installed with xampp and alos installed on nearly every server. In phpMyAdmin, use the export/import functionality
In your php file where you connect to the db change the login settings to the settings the hoster gave you
That should work...
Hosting Company already have setup for apache,php, mysql. All you need to uploads all your
files from xampp htdocs to a right folder like public_html using a ftp software like
filezilla. They also provide a control panel like using which you can manage your mysql
database and all others settings like directory permission.

Reverse Proxy PHP

I want to develop software that will allow people to log in and pay a bill. The software will have to connect to a server hosted at a client (could be many clients) and retrieve some information. The issue is that I want to make it work in any scenario. Similar to the home remote control software like goto my pc. I have no gurantee of the setup for the client only that they have a windows based server and and internet connection. I would like to install a piece of software and have it connect to the server and wait for information. I really would like to use the simplest software possible such as PHP.
Thanks
I want to develop software that will allow people to log in and pay a bill.
That is a requirement. That is fine.
The software will have to connect to a server hosted at a client (could be many clients) and retrieve some information.
That is a specific technical solution to the above requirement. And not a very good one I might add.
So. Do you want to know how best to solve your requirement, or do you want a technical explanation about how you could implement your (totally misguided) proposed solution?

Categories