Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

So is it safe to validate form on client-side only?

Of course, I know that server-side validation is a MUST.

I'm using jQuery to validate form inputs and using jquery ajax to do server-side(PHP) validation at the same time. So I guess it may be safe since it's validating for both sides while javascript is enabled.

Well, here is my problem...

But what if the user has javascript disabled on his browser and if some bad guys try to do something bad from editing my client-side script?

Because i'm making server-side validation through jquery ajax, and i'm planning not to validate them directly in php script(action="some.php") even user's javascript is enabled.

So... does it is still safe?

Sorry for my bad english, hope you don't mind.

like image 444
Kingsley Avatar asked Nov 20 '12 15:11

Kingsley


2 Answers

No, it is not safe. You should always validate your data on the server side, after the form has been submitted. Client-side validation and AJAX validation before submitting the form are only enhancing the user experience, by providing quicker feedback on invalid data. Both client-side validation and AJAX pre-submit validation do not and can not protect you from a maliciously crafted form submission. Attackers and abusers usually don't even use a browser in order to submit data to your server.

like image 149
lanzz Avatar answered Sep 23 '22 22:09

lanzz


My rules are fairly simple...

  1. If you care about your data, then you must validate on the server.
  2. If you care about your user experience, then you must validate on the client.
like image 23
Jarrett Meyer Avatar answered Sep 19 '22 22:09

Jarrett Meyer