2013-02-19 4 views
3

Je dois me connecter à une base de données MSSQL à partir de PHP. Cependant, comme un serveur sur un site distant est connecté, j'ai besoin que la connexion soit cryptée.Connexion en toute sécurité à MSSQL depuis PHP avec cryptage?

Est-il possible d'utiliser crypter la connexion au serveur MSSQL en utilisant uniquement l'extension mssql pour PHP ou encore PDO?

+0

Vous pouvez toujours tunnel une connexion non chiffrée par une voie cryptée - une approche peut-être de parler à quiconque regarde après votre réseau entre les deux les serveurs. – halfer

Répondre

3

Il y a 3 choses qui sont importantes lors de la mise en œuvre d'une connexion sécurisée (cryptée) à MSSQL:

  1. Les choix Encrypt et TrustServerCertificate sont souvent utilisés ensemble.
  2. Par défaut, le serveur SQL installe un certificat auto-signé qu'il utilisera pour crypter les connexions. Les certificats auto-signés sont toutefois ouverts aux attaques. Donc, il devrait être remplacé par un d'une autorité de certification (CA).
  3. Après le remplacement de votre certificat, vous définissez ensuite Encrypt = true et TrustServerCertificate = false (TrustServerCertificate = true travaillera également, mais votre connexion sera alors vulnérable aux attaques)

code-exemple de l'article * 1:

$serverName = "serverName"; 
$connectionInfo = array("Database"=>"DbName", 
         "UID"=>"UserName", 
         "PWD"=>"Password", 
         "Encrypt"=>true, 
         "TrustServerCertificate"=>false); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

Si vous utilisez PDO, créez un objet et transmettez les paramètres pertinents. Pour une explication plus détaillée s'il vous plaît consultez l'article suivant:

* 1-http://blogs.msdn.com/b/brian_swan/archive/2011/03/08/sql-server-driver-for-php-connection-options-encrypt.aspx

+0

S'il vous plaît [éviter les réponses de lien seulement] (http://meta.stackoverflow.com/tags/link-only-answers/info) – Quentin

+0

Merci pour le rappel Quentin! J'ai mis à jour ma réponse. –

+0

Est-ce que cela fonctionne sur linux? – Erik

Questions connexes