Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
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: 3246
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: 3246
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: 3246
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


Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Final Fantasy 7 Remake Part 3 offrir&agr...
Chery presenta Omoda 4, da benzina a ele...
TSMC alza i prezzi: Qualcomm e MediaTek ...
Una Offline Room per aiutare gli student...
Partnership EOLO-Qualcomm: connettivit&a...
Fanatec senza freni: ufficiali il nuovo ...
Instagram, arriva la classificazione PG-...
Microsoft rimuove il blocco all'aggiorna...
Annunciati i vincitori del Leica Oskar B...
Polemiche per il ritorno della Mad Max M...
Leapmotor non si ferma: nuova ammiraglia...
Impulse Space svilupperà un lande...
I 2 mini aspirapolvere più potent...
The Crew 2 diventa finalmente giocabile ...
Sta succedendo davvero: Assetto Corsa Ra...
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: 13:33.


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