JavaScript connecteren met SQL via PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

Louis Deconinck

Louis Deconinck

25/09/2021 00:06:02
Quote Anchor link
Ik heb JavaScript code die een transactie naar de blockchain stuurt via een browser extensie. Hoe dat exact gebeurt is niet zo belangrijk voor mijn vraag.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
$("#send_1").click(function () {
  console.log("click");
  hive_keychain.requestCustomJson(
    'name',
    'sm_token_transfer',
    'active',
    '{"to":"name2","qty":95,"token":"DEC","type":"withdraw","app":"something"}',
    function (response) {
      window.location.replace("purchase.php");
    }
  );

});
</script>


Nu zou ik ook graag de transactiedata in mijn eigen SQL database opslaan. Echter vind ik dit niet zo evident om van JavaScript, wat een client side taal is, naar een server side taal als PHP over te gaan. Momenteel is er een callback functie die de gebruiker naar purchase.php stuurt als de transactie is afgerond. Echter hoe kan ik bijkomende informatie over de transactie meesturen naar die pagina?

Of bestaat er een betere manier om deze transactiedata in een SQL database te krijgen?
Gewijzigd op 25/09/2021 00:06:30 door Louis Deconinck
 
PHP hulp

PHP hulp

20/10/2021 05:34:16
 
- Ariën -
Beheerder

- Ariën -

25/09/2021 00:37:52
Quote Anchor link
Kan je dit niet beter met AJAX doen?

https://www.w3schools.com/jquery/ajax_ajax.asp
Stuur de data bij voorkeur via POST (of GET als je dat wilt doen) naar een purchase.php script.
Waar dat script alle $_POST data in een INSERT-query verwerkt, zodat het in de database komt.

Enne, vergeet niet te escapen tegen SQL-injection ;-)
 
Louis Deconinck

Louis Deconinck

25/09/2021 00:44:11
Quote Anchor link
Dat is een optie die ik eens zal bekijken. Vraag mij echter af of het wel mogelijks is om dit veilig te bouwen... Kan men geen valse variabelen via POST versturen en deze in de database opnemen.
 
- Ariën -
Beheerder

- Ariën -

25/09/2021 00:54:33
Quote Anchor link
Dat is iets wat je moet beveiligen. Ik neem aan dat er ergens iets van authenticatie in zit?
Of anders kan je een check doen met een sessie die je aanmaakt op je index.php, en die ook bekend moet zijn op je purchase.php script.
 
Ad Fundum

Ad Fundum

25/09/2021 20:25:04
Quote Anchor link
Mobile code is per definitie onveilig, net zoals alles in de browser onveilig is. In theorie kan iedereen op F12 duwen en via de developer tools van een browser zelf javascript requests faken. En kan iedereen HTTP-requests faken met tools als cUrl.

Het probleem is dat je 'de transactiedata' van 'de blockchain' (of wat het ook is) wilt opslaan in een tweede JS request, dat relatief eenvoudig te hacken is. De browser kan geen garanties geven.

Je moet in feite van de twee HTTP-requests een veilige transactie maken. Dat moet server-side. Dus je moet of de request naar de blockchain plugin zo ver krijgen dat het ook een sein stuurt naar jouw server (kan via PHP), of het moet andersom, dus eerst naar jouw PHP script dat het verzoek doorstuurt naar de blockchain.
Gewijzigd op 25/09/2021 20:25:55 door Ad Fundum
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.