Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 98657
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:14:17+00:00 2026-05-11T00:14:17+00:00

While researching the issue of JSON vs XML , I came across this question

  • 0

While researching the issue of JSON vs XML, I came across this question. Now one of the reasons to prefer JSON was listed as the ease of conversion in Javascript, namely with the eval(). Now this immediately struck me as potentially problematic from a security perspective.

So I started doing some research into the security aspects of JSON and across this blog post about how JSON is not as safe as people think it is. This part stuck out:

Update: If you are doing JSON 100% properly, then you will only have objects at the top level. Arrays, Strings, Numbers, etc will all be wrapped. A JSON object will then fail to eval() because the JavaScript interpreter will think it’s looking at a block rather than an object. This goes a long way to protecting against these attacks, however it’s still best to protect your secure data with un-predictable URLs.

Ok, so that’s a good rule to start with: JSON objects at the top level should always be objects and never arrays, numbers or strings. Sounds like a good rule to me.

Is there anything else to do or avoid when it comes to JSON and AJAX related security?

The last part of the above quote mentions unpredictable URLs. Does anyone have more information on this, especially how you do it in PHP? I’m far more experienced in Java than PHP and in Java it’s easy (in that you can map a whole range of URLs to a single servlet) whereas all the PHP I’ve done have mapped a single URL to the PHP script.

Also, how exactly do you use unpredictable URLs to increase security?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:14:18+00:00Added an answer on May 11, 2026 at 12:14 am

    The main security hole from the blog (CSRF), is not JSON specific. It’s just as big a hole using XML instead. Indeed, it’s just as bad with no asynchronous calls at all; regular links are just as vulnerable.

    When people talk about unique URLs, they generally DON’T mean http://yourbank.com/json-api/your-name/big-long-key-unique-to-you/statement. Instead, it’s more common to make something else about the request unique; namely a value in the FORM post, or a URL parameter.

    Usually this involves a random token inserted into the FORM on the server side, and then checked when a request is made.

    The array/object thing is news to me:

    Script-Tags: The attacker can embed a script tag pointing at a remote server and the browser will effectively eval() the reply for you, however it throws away the response and since JSON is all response, you’re safe.

    In that case, your site doesn’t need to use JSON at all to be vulnerable. But yeah, if an attacker can insert random HTML into your site, you’re toast.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 75k
  • Answers 75k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Start by intercepting all the click events: $(function() { $('a').click(ClickInterceptor);… May 11, 2026 at 2:46 pm
  • added an answer You can just output the CSS like any other with… May 11, 2026 at 2:46 pm
  • added an answer Without validation and assuming the child nodes are the only… May 11, 2026 at 2:46 pm

Related Questions

While researching this issue, I found multiple mentions of the following scenario online, invariably
This was originally a question I wanted to ask, but while researching the details
I am taking my first foray into PHP programming and need to configure the
When trying to launch and run a flex/java project in eclipse I kept getting

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.