Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There is no way to remotely disable or affect plugins in the user's browser. Being able to do so would represent a <strong>massive</strong> security hole. There are ways of detecting whether they're using adblock, but beyond that you need to work around such plugins, rather than try to defeat them.</p> <p>As far as I'm concerned, the number 1 rule of web programming is <strong>never trust user input</strong>. No matter what you do on the client end, a clever and determined user will <em>always</em> be able to find a way to break your site, send invalid data, etc. To that end:</p> <ol> <li><p>Validate in the browser, <em>but ALSO validate on the server</em>. All someone has to do is disable javascript, and your client-side validation will not execute. Or, if they're very determined, they could save a copy of the html file locally, edit out the bits that are stopping them from doing what they want, and then load up their own version in their browser and submit from it instead. You cannot prevent this, so you have to account for it instead by validating all input at the server before you do anything with it.</p></li> <li><p><strong>Do not</strong> put sensitive data unencrypted in the browser. Even if it's in a hidden field, they can again go into the code, read/change it, and then submit their own version afterwards again. If possible, cache such data on the server. If that's not possible, give it to the user encrypted, so that even if they can see the value it will be meaningless to them.</p></li> </ol> <p>Look at it this way: browser validation is for the user's benefit, so they don't waste bandwidth; server validation is for the system's benefit, to make sure you don't accept invalid data.</p> <p>The <em>only</em> instance where you can get away with not doing these things is if you're developing a private application for a professional client who has no reason to do any of these things, and even then you should be in the habit of validating input on the server as a matter of course anyway. So it really doesn't matter what you're building or what your expectations are, you should <em>always</em> validate in both places, client and server.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload