Solved

Where is my PHP site getting it's data?

Posted on 2013-10-23
5
289 Views
Last Modified: 2013-10-24
I have been charged with supporting a custom programmed e-commerce web site. I need help figuring out two items. Not exactly sure where to start....

 1) Figure out what database and how the PHP site is connecting to.

 2) Figure out what table needs to be changed to make a change on the site.

I'm used to seeing a file like config.php that defines the database, db user, and password, but this config.php does not have any of that. There appears to be a lot of XML going on too.
0
Comment
Question by:jasgot
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 15

Expert Comment

by:Ess Kay
ID: 39594055
typically it would be in the header


check if the site a headerimported

ie: include(header.php)


somewhere in there there would be a link to the settings/config file.
Or, if it uses xml, the xml might have the config details

you can also perform a serch for the keywords : "server" thought the directories
0
 
LVL 110

Expert Comment

by:Ray Paseur
ID: 39594266
What is the URL of the site?  We may be able to guess if we can see the "signature" in the generated HTML.

Other than that, you would start with index.php and read the code, looking for include() and require() functions.
0
 

Expert Comment

by:rvcw
ID: 39595105
It's hard to say without seeing any code. Typically there would be a file which defines the database access details. Try searching for where some queries are and see if you can backtrack your way to eventually fine the database connection details.

It may also help to have some debugging in place so you can see what's going on as it's happening. For example you can have an IDE like NetBeans and enable x-debug. Either set a break point somewhere at the beginning, or if you find any queries set breakpoints there or have it pause at the first line. This way, you can view the code being executed line by line and when it starts doing anything db related it should show you where that file is and where everything is coming from.
0
 
LVL 11

Accepted Solution

by:
Murfur earned 500 total points
ID: 39596927
I'm assuming that you have access to the source code.

What you see in terms of files and folders and even IN the files can all provide clues to help you understand your target.

Look for any text files in the docroot, e.g. license.txt or humans.txt as these will almost certainly contain info for the benefit of the developer.

Have a look at the folder structure in the docroot of the site - folders and their names may suggest what framework being used.

Look for developer comments in the pages.


Next, remember that every PHP page that needs to do anything with the database will have to load the db connection details so we just need to look for the db reference in a PHP page.

Start with index.php (you have to start somewhere) but failing that any php file will do.

Includes will typically be near the top, find the included file and go back from there.
Again, look for developer comments.

search for 'mysql' as a string and specifically look for any functions - e.g. mysql_connect
search for environment variables like DBHOST or DBNAME

and so on...

Can you give us the URL? Logic suggests that an commerce site is public...
0
 

Author Closing Comment

by:jasgot
ID: 39597075
The data was hard coded in a .pl script on another server.  Thanks.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question