include::../description.adoc[] include::../ask-yourself.adoc[] include::../recommended.adoc[] == Sensitive Code Example [source,go,diff-id=1,diff-type=noncompliant] ---- import "net/http" response, err := http.Get("http://www.example.com/") // Sensitive ---- [source,go,diff-id=2,diff-type=noncompliant] ---- import "net/smtp" connection, err := smtp.Dial("mail.example.com:25") // Sensitive connection.Hello("my-sending-server.example.com") // authenticate and send email connection.Quit() ---- == Compliant Solution [source,go,diff-id=1,diff-type=compliant] ---- import "net/http" response, err := http.Get("https://www.example.com/") // Compliant ---- [source,go,diff-id=2,diff-type=compliant] ---- import ( "crypto/tls" "net/smtp" ) tlsConfig := &tls.Config{} connection, err := smtp.Dial("mail.example.com:25") // Compliant connection.Hello("my-sending-server.example.com") err = connection.StartTLS(tlsConfig) if err == nil { // authenticate and send email } connection.Quit() ---- include::../exceptions.adoc[] include::../see.adoc[] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) == Message * Make sure allowing clear-text traffic is safe here. * Using http protocol is insecure. Use https instead. == Highlighting Highlight the function call that sets the URL or hostname/port. endif::env-github,rspecator-view[]