1

I am making a web app that has typical javascript structure below. I must hide at least a function or some formulas from the public code because someone can save the page on his computer without paying for the web app membership. I am not sure how to do that.

"edit" I found the answer and is in the following snippet. My problem now is how to pass the data outside the $.post( )?

   function analysis(){
          var  L = "sting";
          var  w   = JSON.stringify(w);
          var  counter = "sting";
  $.post('../php/solver2.php',{L : L , w : w , counter:counter },
 function(data){  jdata  = JSON.parse(data); });
     
            var jdata  = JSON.parse(tempJdata);
            var x          = jdata.x;
            var v          = jdata.v;
       
       return [x v];
 }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"> </script>

3 Answers3

3

Use JSON.stringify() on your array and use AJAX to send it to your php script.

On php side, you can json_decode() that same array and work with it.

You could protect that PHP script with sessions, and return an error if one is not allowed to access it.

Ownagin
  • 157
  • 4
  • So the 1. JSON.stringify() will send a string that codifies the array with post to php file 2. ajax to do what exactly ? 3. decode the string in to array process it in php and output the results in to html ? – Manos Chatziefraimidis Mar 05 '22 at 11:15
1

You can't stop someone to download your client side script code.

Check this How do I hide javascript code in a webpage?

And i can check every client side code with the browser developer tools.

Edit: You mean this:

How do I pass JavaScript to PHP?

Sending a JavaScript array to PHP via POST

Pass Javascript Array -> PHP

This are your HTTP request methods(check for browser compatibility):

HTTP request methods

Every operation on the server-side is hidden(on a normal way without bugs or something else) and the result you send to the client is public.

Z0OM
  • 1
  • 4
  • 18
  • 29
0

I found the answer sending multiple arrays to php process them and return processed arrays.

          var  L = "sting";
          var  w   = JSON.stringify(w);
          var  counter = "sting";
  $.post('../php/solver2.php',{L : L , w : w , counter:counter },
 function(data){  var jdata  = JSON.parse(data);
                  var x          = jdata.x;
                  var v          = jdata.v;});