|
161
|
Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet
|
en: 8 Noviembre 2010, 22:43 pm
|
OK, para el caso esta bien.
Pero te presento el mundo de los servicios web, publicar la BD es una mala practica, seria muy sensible a un ataque, un servicio web puede viajar por el puerto 80 ( el mas comun) y utilizar SSL para encripcion, la conexión con la BD es mas vulnerable.
Atentamente,
Juan Manuel Lombana Microsoft Certified Professional Microsoft Student Partner Medellín - Colombia
Eso si es verdad, por lo mismo en esta clase de proyectos hay que tener cuidado, desde saber quienes lo tendran y que ellos no se lo pasen a terceros, tambien hacer un login de tipo HWID para hacerlo mejor, y claro proteger nuestra aplicacion para que no pueda ser leida facilmente ya sea con .NET Reflector o algun otro. Yo solo uso esta forma ya que donde esta hosteada la DB, no es mi PC y crear una web en ella para manejar la DB se me hace mas tedioso que crear una aplicacion de escritorio hehe , proximamente vere eso para hacer alguna en silverlight(si esque se puede).
|
|
|
162
|
Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet
|
en: 8 Noviembre 2010, 18:58 pm
|
hehehe si tmb se puede con ODBC o he visto pero yo siempre lo hago con SQL ahi hehe si te fijas en el source anterior que puse el codigo de conexion es "data source = 127.0.0.1; initial catalog = GunzDB; user id = sa; password = zombie000"
Con esa es la que yo uso pra conectarme a Base de Datos remotas en MSSQL solo claro en ves de esos datos pongo la IP del servidor un ejemplo a servidor remoto seria "data source = crymore.sytes.net; initial catalog = GunzDB; user id = sa; password = zombie000" Con esa podras entrar a mi Base de Datos crymore.sytes.net es mi NO-IP para hacer redireccion a mi hehe, aunque GunZDB es una Base de Datos que uso para un juego y por ahora esta vacia hehe ahi puedes intentar entrar en ella para que veas (:
|
|
|
163
|
Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet
|
en: 8 Noviembre 2010, 18:29 pm
|
Pues si deberia funcionar, solo recuerda tambien que a la Base de Datos a la cual accederemos si es en MSSQL tiene que tener permitido el acceso remoto, y asignarle un userid y contraseña para la seguridad, la conexion que tu usas ahi es mayormente usado para locales.
y en la Funcion Abrir no estoy seguro porque no colocar el cadenaconexion.Open()
Por lo demas lo vi bien
|
|
|
165
|
Programación / .NET (C#, VB.NET, ASP) / Re: Formato a una variable?
|
en: 8 Noviembre 2010, 18:19 pm
|
Bueno yo lo haria algo asi, si esque quieres copiar todos los archivos que se encuentran en tu carpeta de la aplicacion y ademas de sus subcarpetas seria algo asi Imports System.IO Public Class Form1 Private Sub listararchivos() Dim copiar as String copiar = "C:\Archivos\" For Each Archivo As String In My.Computer.FileSystem.GetFiles( _ Application.StartupPath, _ FileIO.SearchOption.SearchAllSubDirectories) Dim a, b As String a = Archivo b = My.Computer.FileSystem.GetName(Archivo) 'Mostramos en un label el nombre del archivo a copiar Label1.Text = b 'Copiar archivo a una ruta que especamos anteriormente Next Label2.Text = "Lista Actualizada! - " & Date.Now.ToString End Sub End class
|
|
|
166
|
Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet
|
en: 8 Noviembre 2010, 18:08 pm
|
Yo la verdad te aconsejaria mejor hacerlo en MySQL o MSSQL, si ya pasaras a hacerlo por internet, ya que como dijo .::IT::. , sera mucho mas tardado y ademas quien quiere estarse matando por hacer una conexion a archivos remotos si para ello tenemos la facilidad de MySQL y/o MSSQL. Ademas es casi lo mismo la conexion o am el codigo de conexion Ejemplo Conectar a MSSQL imports system.data.sqlclient module Conexion0 dim con as sqlconnection dim ad as new sqldataadapter dim dt as datatable dim comando as string Public conexion As String = "data source = 127.0.0.1; initial catalog = GunzDB; user id = sa; password = zombie000" 'datasource = servidor , initial catalog=BaseDeDatos , userid= usuario , password = contraseña public sub conectar con = new sqlconnection() con.connectionstring(conexion) try con.open() msgbox("Conexion Exitosa (:") con.close() catch msgbox("Error en la conexion") end try end sub 'Ejemplo de una query public sub query dt = new datatable 'Query para obtener todos los datos de la tabla Cuentas para al final mostrarla en un Datagridview comando = "SELECT * FROM Cuentas" ad = new sqldataadapter(comando,conexion) ad.fill(dt) Form1.datagridview1.datasource = dt end sub end module
try
|
|
|
167
|
Programación / .NET (C#, VB.NET, ASP) / Re: Error con notifyIcon c#
|
en: 11 Septiembre 2010, 03:26 am
|
Intenta asi Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize If Me.WindowState = FormWindowState.Minimized Then Me.Visible = False NotifyIcon1.Visible = True End If End Sub Private Sub NotifyIcon1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick Me.Visible = True Me.WindowState = FormWindowState.Normal Me.Show() NotifyIcon1.Visible = False End Sub
Ami me funciono Fallos visible = true - jamas lo pusistes Me.WindowState = FormWindowState.Normal - se pone antes del show asi antes de mostrarse ya estara normal si lo pones despues se mostrara y vera que sigue minimizado y dara otra vez y nose mostrara nunca
|
|
|
168
|
Programación / Programación General / Re: mail
|
en: 2 Septiembre 2010, 04:02 am
|
using System; using System.Collections; using System.Net; using System.Net.Mail; using System.Net.Mime; public class EjemploCorreoGMail { public static void Main() { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add("destinatario@dominio.com"); msg .From = new MailAddress ("micuenta@gmail.com", "Tu Nombre", System.Text.Encoding.UTF8); msg.Subject = "Prueba de correo a GMail"; msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.Body = "Cuerpo del mensaje"; msg.BodyEncoding = System.Text.Encoding.UTF8; msg.IsBodyHtml = false; //Aquí es donde se hace lo especial SmtpClient client = new SmtpClient (); client .Credentials = new System.Net.NetworkCredential("micuenta@gmail.com", "miclave"); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; //Esto es para que vaya a través de SSL que es obligatorio con GMail try { client.Send(msg); } catch (System.Net.Mail.SmtpException ex) { Console.WriteLine(ex.Message); Console.ReadLine(); } } }
Credits: José M. Alarcón Aguín
|
|
|
169
|
Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda - guardar historial de lo que hace un usuario [C#]
|
en: 2 Septiembre 2010, 03:51 am
|
No discuto la razón acá , simplemente te comparto mis experiencias Un saludo y con respecto a: comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'"
Es susceptible a Sql Injection. Yo he visto a usuarios de administración haciendo queries xD se los juro! Si, pero para que haria algo asi si solo son 2 personas la que lo manejan, aunque si lo decea antes de eso al pulsar el boton puede verificar lo que introdujo y asi hacer un antisql Yo por ejemplo asi lo uso pero solamente las computadoras que e colocado pueden usar el programa un tipo de HWID que al iniciar antes del login verifica que la PC tenga admision a usar el programa jeje asi tengo usuarios confiables que la puedan usar Pero nunca esta demas un pequeño codigo para AntiSql jeje
|
|
|
170
|
Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda guarda histroail de lo que hace un usuario en C#
|
en: 1 Septiembre 2010, 23:05 pm
|
Eso es lo que decia y como dicen los demas porque usas 2?, porque no nomas 1 ? Entonces al loguearte si es correcto los datos que guarde el usuario en una variable y ya al usar el codigo de "INSERT" ahi pones la variable nose si me explico Sino aqui te dejo un ejemplo Dim da as new sqldataadapter Dim dt as new datatable dim comando as string 'Rellenar con tu codigo de conexion dim conexion as string = "" public sub login comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) form1.datagridview1.datasource = dt if form1.datagridview1.rows.count = 2 then 'Logueado form2.show me.hide else msgbox("Error No se a podido loguear revisa los datos") end if end sub public sub historial(byval log as string, byval fecha as string) comando = "INSERT INTO Historial (Usuario, Accion, Fecha) VALUES ('" + form1.user.text + "', '" + log + "', '" + fecha + "')" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) end sub
Y ya solamente lo llamas desde lo necesites y tmb si deceas que si uno esta lgueado y el otro intenta entrar puedes hacer algo asi Dim da as new sqldataadapter Dim dt as new datatable dim comando as string 'Rellenar con tu codigo de conexion dim conexion as string = "" public sub login comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) form1.datagridview1.datasource = dt if form1.datagridview1.rows.count = 2 then 'Logueado 'datagridview1(0,4) es 0 = la fila que seria la primera y 4 igual a la columna 'Que pense que eran estas ID, Usuario,Password, Conectado esas son las columnas que pense que podras tener 'Bueno espero te sirva ^^ if form1.datagridview1(0,4).value.tostring = "1" then msgbox("Ya hay alguien logueado con esta cuenta") exit sub else loginz() end if form2.show me.hide else msgbox("Error No se a podido loguear revisa los datos") end if end sub private sub loginz() comando = "UPDATE Login set conectado = '1' where usuario ='" + form1.user.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) end sub 'Este lo inicias cuando se este cerrando el programa private sub desloguear comando = "UPDATE Login set conectado = '0' where usuario ='" + form1.user.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) end sub
|
|
|
|
|
|
|