php – Block access to javascript files

Question:

I have a javascript file that makes ajax requests to my API but I don't want anyone to discover its link is there any way to block access to this file?

If there is no way to release it so that only the site can access it?

Answer:

By the time the AJAX request is made, it will always be possible to trace. Therefore, the origin of the request is made on the client. So, what can be done is to perform a validation on the server.

Example:

Let's assume you are making the request from the site: http://www.testandoapi.com.br/index.php

In the index.php file, you can have a PHP instruction that checks if the origin of the request is www.testandoapi.com.br.

<?php
  if( $_SERVER['HTTP_ORIGIN'] === 'www.testandoapi.com.br' ){ 
     //seu codigo aqui
  }
?>

This will make only requests coming from the domain www.testandoapi.com.br, to be executed.

Obs.: The solution above is not immune to failures, there are other aspects that must be taken into account.


Complementing the above solution, you can work with Token well. But for that, it will be necessary to define some criteria:

  1. Whether or not it will generate the Token , for everyone who accesses the site.
  2. The periodicity of the Token .

You may have other items to define, it's worth taking into account the context in which your API will be used.

Scroll to Top