Need Help restoring Site disabled by Developer

by Janus
27 replies
Need help, had a conflict with my developer and he subsequently made changes that creates an error statement when opening my site. I was not without fault but he over reacted and now wants an excessive fee to restore to working order.

I'm not a programmer but the best I can tell is that the web.config file changed but other changes may have also occurred as he had root access. I speculate as to the web.config file being the cause due to the file looks to have been changed a week before the site problem began although the web.config file changes may provide a clue as to what was done.

This is an ASP site with one SQL database.

Bottom Line - I don't know exactly what was done. My personal effort at restoring the web.config file didn't fix the problem.


Not sure what to do. One option that I'm considering is having my host do a full restore from a previous date, although I'm not sure that would fix my problem. Was and still hoping for a simpler fix. I have backups of several files but probably not all.

The option I want to avoid is having to capitulate to the unreasonable fee demand. Honestly I liked the guy and thought he did good work but now have lost trust and think that I need to look for new support.

I can provide the before and after config files and the associated error statements produced if helpful. Please PM or email if private information is needed.

Thanks for taking the time to read this and offer suggestions.

Pat
#developer #disabled #restoring #site
  • Profile picture of the author VisualWebEffects
    first thing to do is (if you have not done so already) to remove his access.

    download the web.config or edit it in your hosting cp,

    if you open your site normally, you will be given instructions on do this, but, turn off custom errors. this will give us a chance to look at the actual error being thrown back by IIS server. This way we can diagnose the problem better.
    Signature
    VisualWebEffects- Web Application Development, PC Software Development and Identity Design services
    {{ DiscussionBoard.errors[1481034].message }}
  • Profile picture of the author PlumGreekMob
    Best thing to do is one remove his access.

    Two is contact your host and tell them you would like them pull up your files to that site from their back ups. I had the same thing happen when the wrong person had access to my files.
    Signature
    CPAlead Forum Learn how to make money like the Big Dogs.
    {{ DiscussionBoard.errors[1481056].message }}
  • Profile picture of the author Janus
    VisualWebEffects,

    Appreciate your response

    I had already removed his access.

    I'm a novice in many areas so please bear with me.

    I not aware of how to turn off custom errors. Can you provide more guidance.
    My host is GoDaddy with shared hosting.

    I can edit the web.config files. Did so previously to put the original web.config back. If needed I can put the adjusted one back or email it to you.

    Further help required.
    {{ DiscussionBoard.errors[1481124].message }}
  • Profile picture of the author Janus
    PlumGreekMob,

    That is one of the options I'm considering but:
    1) wasn't sure that would take care of the problem
    2) was trying to avoid the cost (estimate was $150)

    Thanks will keep that as a valid option then.
    {{ DiscussionBoard.errors[1481145].message }}
  • Profile picture of the author VisualWebEffects
    ok,

    this should be fairly simple.

    in godaddy cp, find and go into edit mode on the web.config.

    to make things easier, copy the contents into a new notepad document.

    do a find (ctrl+f) for: <customErrors

    once found, make that line look like this:

    <customErrors mode="Off"/>

    ----

    What to do if not found in the web.config:

    if you do not find it in the web.config find the opening tag: <system.web>

    after it paste in: <customErrors mode="Off"/>

    then copy this and paste it back into the web.config on your godaddy hosting account.

    then you should be able to go to your domain and get the full IIS error code from the server instead of what you get now.

    let me know when you have that done, and i will take a look and see what i can figure out from the error report.
    Signature
    VisualWebEffects- Web Application Development, PC Software Development and Identity Design services
    {{ DiscussionBoard.errors[1481722].message }}
  • Profile picture of the author Janus
    VisualWebEffects,

    Sorry it took so long to get back to you.

    I put the web.config file back to the last change.

    But here is the previous error statement (which is what I think you wanted as this web.config file contained the <customErrors mode="Off"/> statement):


    Server Error in '/' Application.
    You are not allowed to use this software, contact xyzxyz.com for details.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Exception: You are not allowed to use this software, contact xyzxyz.com for details.
    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location
    of the exception can be identified using the exception stack trace below.
    Stack Trace:
    [Exception: You are not allowed to use this software, contact xyzxyz.com for details.]
    FinanceReports.DAL.DataAccess.get_ConnString() +267
    FinanceReports.DAL.ContentDataAccess.GetContent(St ring key) +93
    FinanceReports.BLL.Content.Content.Get(String key) +8
    Controls_ContentBody.Page_Load(Object sender, EventArgs e) +45
    System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e) +14
    System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object sender, EventArgs e) +35
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
    Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3053
    {{ DiscussionBoard.errors[1482078].message }}
    • Profile picture of the author windfinder
      That is not a configuration error. He is throwing an exception somewhere in the code.
      {{ DiscussionBoard.errors[1482184].message }}
  • Profile picture of the author Janus
    Looks like my guess was wrong.
    1) any ideas where to look, likely places?
    2) any clues what to look for?
    3) could something have been deleted?
    4) would a restore for a date prior to the event be expected to resolve the issue?
    5) any other suggestions on how to resolve?
    {{ DiscussionBoard.errors[1482952].message }}
    • Profile picture of the author windfinder
      I'm sorry to say, but a restore from a backup is the only thing that can guarantee a working system. He might have put bad code anywhere/everywhere.
      {{ DiscussionBoard.errors[1482981].message }}
  • Profile picture of the author Janus
    windfinder,

    Thanks, I'm keeping that as one of my final options. Will entertain other ideas for a while if there are any.

    If it helps (not sure how to describe) the site uses ASP.Net / Ajax / Telerik RadControls.
    {{ DiscussionBoard.errors[1483137].message }}
    • Profile picture of the author Scooter2084
      It may be hard to narrow down exactly what is happening as others have said, but from the exception message you might want to check that the connection string to the database is in the web.config file.

      get_ConnString() is throwing the exception which suggests that it might be related to not having the proper information to log in to the database.

      Look in the web.config for a string (possibly under the connectionstrings node) that has the database name, user name, and information that points to the database - if it is there make sure it is correct(I suspect that it is missing)

      Also, if it was developed in C# you will find a .cs file that is associated with the page that you are trying to load. The first function that is run on the page is the Page_Load function. You can look in there and find if there are calls to the database that are failing (maybe a call to get_ConnString()).

      It's kind of a crap shoot as he could have disabled anything, but this may give you a couple more things to look at...

      ****EDIT****
      After looking closer and having that first cup of coffee - you also might want to look in the .cs file for a statement starting with "throw System.Exception" The exception statement that is coming back is custom, so he has to be generating the exception manually and inserting the message "
      You are not allowed to use this software, contact xyzxyz.com for details." you could also search the file for this sentence and it might point to where he has changed the code.
      {{ DiscussionBoard.errors[1483259].message }}
  • Profile picture of the author Janus
    Thanks Scooter2084,

    I appreciate the direction. Will take a look. I'm in over my head here but will pursue.
    {{ DiscussionBoard.errors[1483392].message }}
  • Profile picture of the author strong5000
    one should remove his access.Two is contact your host and tell them you would like them pull up your files to that site from their back ups. I had the same thing happen when the wrong person had access to my files.
    {{ DiscussionBoard.errors[1483630].message }}
  • Profile picture of the author Janus
    Update,

    Just searched the files for the phrase "You are not allowed to ................... for details" and came up empty handed. It doesn't seem right as it has to be there but those were the results.

    Anything else I should search for or look at?
    {{ DiscussionBoard.errors[1483944].message }}
  • Profile picture of the author css
    You know this type of thing is illegal? Tell him to fix it now or the cops will be a knockin. There are several people in prison right now for just such a thing.
    {{ DiscussionBoard.errors[1483964].message }}
  • Profile picture of the author Janus
    CSS,

    I agree but don't think Interpol would be interested.
    {{ DiscussionBoard.errors[1483989].message }}
  • Profile picture of the author wayfarer
    This is why you should always be nice to your programmers. Kind of like you should always be polite to people who are serving your food.

    Regardless of the cause of the conflict, a stronger case for version control when deploying applications could not be made at this time. Using some form of version control (like SVN) would have given you the ability to restore at any point, since every change would have been logged.

    Live an learn...
    Signature
    I build web things, server things. I help build the startup Veenome. | Remote Programming Jobs
    {{ DiscussionBoard.errors[1484031].message }}
    • Profile picture of the author Janus
      Originally Posted by wayfarer View Post

      This is why you should always be nice to your programmers. Kind of like you should always be polite to people who are serving your food.

      Regardless of the cause of the conflict, a stronger case for version control when deploying applications could not be made at this time. Using some form of version control (like SVN) would have given you the ability to restore at any point, since every change would have been logged.

      Live an learn...
      Programmers are great I'm constantly amazed at the "magic" they can produce.
      {{ DiscussionBoard.errors[1484095].message }}
  • Profile picture of the author entrepenerd
    You mentioned that the site is using Telerik Radcontrols. This is just a guess, but I'm wondering if there is a license file needed to use these controls and he has cancelled the license. If he was developing it for you, he may have purchased the product/license, and now that he's pissed, he has disabled the product for your site.

    That would explain the "You are not allowed to use this software" portion of the error message. That would also mean that a full restore of the application is going to do you absolutely no good.
    {{ DiscussionBoard.errors[1484050].message }}
    • Profile picture of the author Scooter2084
      entrepenerd may be on to something but, I don't suspect so as the site pointed to by the exception message is your original developer.

      I still would concentrate on the default file that runs when the site is initially accessed.

      Maybe check for a redirect in the (response.redirect) code that is launching another file?

      This is a tough one. Although there has to be a logical execution path and he has interrupted it along the way. If you know the entry point of the site code you can trace the steps.

      Another thought is that he may have compiled the error into a separate library (dll) if this is the case you have no way of getting around it...
      {{ DiscussionBoard.errors[1484127].message }}
      • Profile picture of the author Janus
        Originally Posted by Scooter2084 View Post


        I still would concentrate on the default file that runs when the site is initially accessed.

        Maybe check for a redirect in the (response.redirect) code that is launching another file?

        This is a tough one. Although there has to be a logical execution path and he has interrupted it along the way. If you know the entry point of the site code you can trace the steps.
        Tough work for a novice, any specific file names where I should be looking for that would be the entry point of the site code, default file, response.redirect?
        {{ DiscussionBoard.errors[1484299].message }}
    • Profile picture of the author Janus
      Originally Posted by entrepenerd View Post

      You mentioned that the site is using Telerik Radcontrols. This is just a guess, but I'm wondering if there is a license file needed to use these controls and he has cancelled the license. If he was developing it for you, he may have purchased the product/license, and now that he's pissed, he has disabled the product for your site.

      That would explain the "You are not allowed to use this software" portion of the error message. That would also mean that a full restore of the application is going to do you absolutely no good.
      I don't know much about that, but since he expects me back maybe that was what was removed/changed. Is there a location to look at to ascertain if that did occur?

      It was an older version but can they actually be canceled where a restore wouldn't work. If they can then developers would have perpetual control over all their clients.
      {{ DiscussionBoard.errors[1484143].message }}
      • Profile picture of the author entrepenerd
        Originally Posted by Janus View Post

        I don't know much about that, but since he expects me back maybe that was what was removed/changed. Is there a location to look at to ascertain if that did occur?

        It was an older version but can they actually be canceled where a restore wouldn't work. If they can then developers would have perpetual control over all their clients.
        Unfortunately, the only way you'll know is to bite the bullet and try a full restore from a know working date. If things resume as normal, you're set. If the still doesn't work, then the Radcontrols components may have built in licensing checks and the license has been removed.

        I think you're going to have to bite the bullet on the restore. I don't see any other way around it with a .NET site, since the developer could have hidden an issue anywhere, including compiled code, which can't be searched.
        {{ DiscussionBoard.errors[1484302].message }}
  • Profile picture of the author Janus
    Thanks to everyone for your comments. I appreciate you sharing your knowledge and prior experiences.

    Seems like I have two choices 1) try the full restore (with no absolute guarantee of success) or 2) make amends. I'm thinking that making amends will be best but with a few reservations. Though the trust will be a little different the developer has done a great job from the beginning and over the last year. Don't really want to throw that away over a situation that just got out of hand.

    Thanks again,
    Pat
    {{ DiscussionBoard.errors[1485015].message }}
    • Profile picture of the author Janet Sawyer
      Originally Posted by Janus View Post

      Thanks to everyone for your comments. I appreciate you sharing your knowledge and prior experiences.

      Seems like I have two choices 1) try the full restore (with no absolute guarantee of success) or 2) make amends. I'm thinking that making amends will be best but with a few reservations. Though the trust will be a little different the developer has done a great job from the beginning and over the last year. Don't really want to throw that away over a situation that just got out of hand.

      Thanks again,
      Pat

      Glad to see Pat, that you have finally seen the light. Make amends.

      There are always two endings to the one story.

      Talk to the guy ( or gal), try and resolve your differences and negotiate terms to live on with the reservations.

      I know I'm always saying this........ but, when a client tells me it's only a small job and won't take you more than 10 minutes to do........ ! then why don't they do it themselves? answer is because they can't and they want your expertise for free....... or next to free.

      People who have skills should be recompensed for those skills, not questioned about their value after the works are done.

      Not implying here that this is what happened, but, some of us who do works for others, who then, once they have the work in their possion, then decide the value of the work afterwards, we have to protect ourselves somehow.

      To all of you who have offered solutions, why?
      Didn't you question why it happened in the first place, just curious that's all.

      What a strange place this internet is.

      Just my 2c
      {{ DiscussionBoard.errors[1485075].message }}
  • Profile picture of the author VisualWebEffects
    here are my thoughts, for what they are worth.

    1) as was mentioned, he ripped out the connection string.

    2) (and for this you will need to look) I think this person has changed some code in the data access layers and business object models. IE:

    FinanceReports.DAL.DataAccess.get_ConnString() +267
    FinanceReports.DAL.ContentDataAccess.GetContent(St ring key) +93
    FinanceReports.BLL.Content.Content.Get(String key) +8

    Now, look under your root directory for a folder named: bin

    in there you will probably find a few dll's. These will most likely be all the business automation and data access layers. If he has modified those dll files and not provided source code to them, then as said above, your only recourse is to contact your host and see about a back being restored prior to this mess being done.
    Signature
    VisualWebEffects- Web Application Development, PC Software Development and Identity Design services
    {{ DiscussionBoard.errors[1485892].message }}

Trending Topics