Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
Abbiamo visto ancora una volta la Formula E da vicino, ospiti di Jaguar TCS Racing. In questa occasione però curve e rettilinei erano quelli di un circuito permanente, molto diverso dagli stretti passaggi delle strade di Roma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2021, 09:11   #1
qwerty_race
Member
 
Iscritto dal: Jun 2020
Messaggi: 50
[C# - PHP] Mettere in sicurezza una comunicazione "SOAP Client e PHP Web Servervice"

Salve,
vorrei rendere sicura una comunicazione tra un Client in C# e un Web Service in PHP, attualmente comunicano in chiaro tra loro.

La cifratura al limite non mi interessa molto se potrebbe diventare un problema di sviluppo, dato i due linguaggi in ballo.

Mi interessa più creare una chiave di riconoscimento per ogni comunicazione che devo effettuare.

Il Client Comunica con il Services tramite SOAP, quindi ho aggiunto un "Riferimento Web" al Progetto.


Posto uno stralcio di codice per capire come è strutturato:

Client C#:
Codice:
private static WebReference.My_Service wsMyService = new WebReference.My_Service();

UserData = JsonConvert.DeserializeObject<dynamic>(wsMyService.GetUser("email@email.it"));

string Nome = UserData.Nome;

Services PHP:
Codice:
<?php
require_once('lib/nusoap.php');

$server = new soap_server();
$server->configureWSDL('My_Service', 'urn:My_Service');


GetUser($_email)
{
    return json_encode( /*** tutta la query al Database ***/ );
}


$server->register('GetUser',
                            // param
                            array('_sEmail'=>'xsd:string'),
                            // return
                            array('return'=>'xsd:string'),
                            // namespace
                            "https://www.my-site.it",
                            // soapaction
                            false,
                            // style
                            'rpc',
                            // use
                            'encoded',
                            // description
                            'Get User');


$server->service(file_get_contents('php://input'));
?>
Potreste darmi qualche consiglio su come muovermi?

Grazie mille!

Ultima modifica di qwerty_race : 16-02-2021 alle 11:27.
qwerty_race è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2021, 09:24   #2
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2991
Ma non è più rapido mettere tutto sotto HTTPS e buonanotte? (o non ho capito io il problema?)
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2021, 11:15   #3
qwerty_race
Member
 
Iscritto dal: Jun 2020
Messaggi: 50
Quote:
Originariamente inviato da Kaya Guarda i messaggi
Ma non è più rapido mettere tutto sotto HTTPS e buonanotte? (o non ho capito io il problema?)
Ma se metto sotto HTTPS evito che qualcuno utilizzi il WebService ed elimini dati oppure estragga dati degli utenti?

Se evita questo OK!

Potresti darmi una dritta per come fare?
qwerty_race è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2021, 12:23   #4
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2991
Scusa ma allora la domanda posta all'inizio non era molto ben fatta.
Tu vuoi mettere in sicurezza il sistema affinchè non risponda a chiunque conosca l'endpoint, ma con una sorta di autenticazione.

Direi allora assumendo che usi apache
- Metti tutto sotto https (con un certificato tuo oppure letsencrypt che fai prima)
- Costruisci un "basilare" sistema di autenticazione (ad esempio https://stackoverflow.com/questions/...ion-using-soap )
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2021, 09:22   #5
qwerty_race
Member
 
Iscritto dal: Jun 2020
Messaggi: 50
Quote:
Originariamente inviato da Kaya Guarda i messaggi
- Costruisci un "basilare" sistema di autenticazione (ad esempio https://stackoverflow.com/questions/...ion-using-soap )
Ho fatto tutta la parte PHP e WSDL nel server, però:
dal Client quando aggiungo un nuovo "Riferimento Web", "https://www.mysite.it/test.php?wsdl" visualizzo lo schema XML come dovrebbe essere, termino la procedura correttamente, ma poi quando vado ad utilizzarlo:

Codice:
private MyWebServices myWebServices = new MyWebServices();
Mi da errore:
Il nome di tipo o di spazio dei nomi 'MyWebServices' non è stato trovato, probabilmente manca una direttiva Using o un riferimento all'assembly.

Inoltre se faccio un "Aggiorna Riferimento Web" mi da il seguente errore:

Errore di strumento personalizzato
'MSDiscoCodeGenerator', Impossibile trovare una definizione per http://schamas.xmlsoap.org/wsdl/:MyBinding perchè manca la descrizione del servizio con spazio dei nome http://schamas.xmlsoap.org/wsdl/.
Nome parametro: name


Come posso risolvere questa cosa?

Ultima modifica di qwerty_race : 17-02-2021 alle 09:34.
qwerty_race è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2021, 09:58   #6
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2991
Qui hai un qualche errore in C# che non conosco e per cui alzo le mani.
Tuttavia penso sia anche difficile poter poi dare un aiuto se metti una riga di tutto il codice......
Kaya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Il 5 maggio torna la Maratona Fotografic...
Teatro dei Vitellini - Regia di Gian Pao...
Phi-3 Mini, il modello IA di Microsoft c...
D-Wave annuncia la disponibilità ...
AWS aggiorna Amazon Bedrock con nuove fu...
Sonos: in arrivo un restyling completo p...
La Russia ha condannato il direttore del...
Dead Island 2 arriva finalmente su Steam...
Era già il tablet più conv...
Razer Viper V3 Pro: il mouse da gaming w...
Noctua NH-L12Sx77: il dissipatore per bu...
AVM FRITZ!Repeater 1200 AX: il più vendu...
Apple presenterà i nuovi iPad il ...
SAP introduce l'IA nelle sue soluzioni p...
OnePlus lancia in Europa il nuovo Watch ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:48.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www1v