Skip to content
Advertisement

Why you shouldn’t be using GET request? 3 options [closed]

We covered all these POST and GET requests topics in college but those three are still in my mind. I was wondering since I’m not quite sure why I shouldn’t be using GET request for those three examples. I’m just hoping that someone is better at this for explaining a bit more for all these options.

1.

JavaScript

Is it because if there isn’t id then I wouldn’t be able to get it and PHP shows me an error message.

2.

JavaScript

Is it because a person who enters his/her code can basically insert whatever he/she wants and can take over my computer or delete something.

3.

JavaScript

Basic thinking as for the second option, that we can’t insert data with GET request and in this case person is able to insert whatever he/she likes.

Advertisement

Answer

Security-wise, there’s not really any difference between GET and POST. Generally, GET is used for idempotent operations (like selecting rows from a database and displaying them) and POST is used when the request creates a change (like updating a row.) The problem in these examples is not that they use GET, it’s that they don’t validate untrusted user input.

  1. There’s nothing inherently wrong with building a SQL query from a value obtained from a GET request. The problem with this particular example (syntax errors aside) is only that it presumes the variable exists and contains a valid value.

  2. eval() is virtually never needed and almost always introduces security issues. In this example, you’re blindly just executing whatever the user gives you, which is a terrible idea.

  3. $_GET['const'] might not exist. If it does exist, it might not contain a number. There’s no real security issue, worst case is it’ll evaluate to zero and return a bad result.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement