Distribución BD SQL

22/10/2007 - 17:30 por Francisco Matamoros | Informe spam
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de una
aplicación de trazabilidad, en principio en modo demostración. El instalador
de esa descarga deberá instalar un sql server (concretamente y de momento el
msde), y posteriormente restaurar o adjuntar, ya veremos cómo hacerlo,
nuestra base de datos. La mayor parte de la lógica de la aplicación está en
la base de datos, por lo que nos preocupa que esa lógica sea visible. Cuando
empezamos utilizábamos en vistas y storeds "with encryption", pero la verdad
es que es una forma bastante suave de hacerlo, pues hay varios programas que
deshacen esa encriptación, por lo que aunque en principio es una barrera, el
que esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.

Preguntas similare

Leer las respuestas

#11 Francisco Matamoros
23/10/2007 - 14:08 | Informe spam
Guau!! a ver, en los storeds sin encriptación previa aparece el stored, pero
en los que llevan with encryption
sale mmm. que el pescao ha subido en china 5 euros, joder, no entiendo nada,
fuera bromas, salen caracteres chinos.

¿Qué más hay que hacer para que esto funciona así?
"jeastman - Hotmail" escribió en el mensaje
news:uaM$
Francisco, si la tienes, eso lo vi fue en SQL 2K,


select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'

Ejecuta esa consulta, en la tabla syscommets buscate el contenido de la
columna "text" y dime que vez ahi.

Manteme informado.

Un saludo

"Francisco Matamoros" escribió en el mensaje
news:
Gracias por la respuesta, algo de eso ví, el problema es que estamos
trabajando con SS 2000 y me parece que para 2000 no tengo esa
posibilidad. Como comenté, los tenemos con with encryption pero se
descifran sencillamente con software.

"jeastman - Hotmail" escribió en el mensaje
news:
Que tal Francisco.

He visto una forma que no he utilizado personalmente, pero, por lo menos
te aeguro que yo no he podido entrarle a los fuentes de los de los SP.

Se escriben los SP con with encryption, luego que se han compilado se
borra los fuentes, la borrada incluso se puede automatizar con un
script.

Saludos.

"Francisco Matamoros" escribió en el mensaje
news:
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de
una aplicación de trazabilidad, en principio en modo demostración. El
instalador de esa descarga deberá instalar un sql server (concretamente
y de momento el msde), y posteriormente restaurar o adjuntar, ya
veremos cómo hacerlo, nuestra base de datos. La mayor parte de la
lógica de la aplicación está en la base de datos, por lo que nos
preocupa que esa lógica sea visible. Cuando empezamos utilizábamos en
vistas y storeds "with encryption", pero la verdad es que es una forma
bastante suave de hacerlo, pues hay varios programas que deshacen esa
encriptación, por lo que aunque en principio es una barrera, el que
esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.

















Respuesta Responder a este mensaje
#12 Francisco Matamoros
23/10/2007 - 14:10 | Informe spam
Bueno, a ver, que me adelanto, supongo que eso es lo que encripta con with
encryption, pero hay software para quitar esa protección y te deja una copia
del stored original. Si sabes más, por favor, házmelo saber.
Gracias jeastman

"jeastman - Hotmail" escribió en el mensaje
news:uaM$
Francisco, si la tienes, eso lo vi fue en SQL 2K,


select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'

Ejecuta esa consulta, en la tabla syscommets buscate el contenido de la
columna "text" y dime que vez ahi.

Manteme informado.

Un saludo

"Francisco Matamoros" escribió en el mensaje
news:
Gracias por la respuesta, algo de eso ví, el problema es que estamos
trabajando con SS 2000 y me parece que para 2000 no tengo esa
posibilidad. Como comenté, los tenemos con with encryption pero se
descifran sencillamente con software.

"jeastman - Hotmail" escribió en el mensaje
news:
Que tal Francisco.

He visto una forma que no he utilizado personalmente, pero, por lo menos
te aeguro que yo no he podido entrarle a los fuentes de los de los SP.

Se escriben los SP con with encryption, luego que se han compilado se
borra los fuentes, la borrada incluso se puede automatizar con un
script.

Saludos.

"Francisco Matamoros" escribió en el mensaje
news:
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de
una aplicación de trazabilidad, en principio en modo demostración. El
instalador de esa descarga deberá instalar un sql server (concretamente
y de momento el msde), y posteriormente restaurar o adjuntar, ya
veremos cómo hacerlo, nuestra base de datos. La mayor parte de la
lógica de la aplicación está en la base de datos, por lo que nos
preocupa que esa lógica sea visible. Cuando empezamos utilizábamos en
vistas y storeds "with encryption", pero la verdad es que es una forma
bastante suave de hacerlo, pues hay varios programas que deshacen esa
encriptación, por lo que aunque en principio es una barrera, el que
esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.

















Respuesta Responder a este mensaje
#13 jeastman - Hotmail
23/10/2007 - 15:58 | Informe spam
Que tal Francisco

Mira, lo que pasa es lo siguiente

Cuando compilas un SP se guardan dos cosas en una DB:

1. El plan de ejecución compilado
2. El fuente del SP que ya lo has podido ver en la consulta que te pasé

Bien, que sucede, el SP siempre se guarda en la tabla syscomments, y como
puedes ver, eso que está en chino es el SP encriptado, pero el plan de
ejecución siempre es el mismo.

Ahora, que sucede en éste caso, el fuente del SP (encriptado o no) solo está
ahi por si necesitar recompilar un SP o en caso de migracios de versiones
que es posible que la estructura del plan de ejecución cambie, en éste caso,
se recompilan los SP de forma automítica.

Bien, en tu caso, lo que quieres es proteger tu trabajo, lo que tienes que
hacer es compilar el SP con with encryption de forma tal que el fuente y
solo el fuente más no el plan se encripte, después, haces un update al campo
syscomments.text con un '' (vació) de ésta forma tienes el plan de ejecución
más no el fuente, ni encriptado ni en ascii.

Ahora, los programas que recuperan los fuentes de un SP desde un encriptado
lo hace es desde syscomments.text no desde el plan de ejecución (hasta donde
yo se).

Ah, algo muy importante, dependiendo del tamaño del SP puedes tener más de
un registro en syscomments, observa con atención.

Haz una prueba, create un SP que sea algo largo, lo guardas en algún lugar,
le pones with encryption y lo compilas, luego revisas el syscomments y veras
que las papas también subieron de precio en china, ahora, con un update
pones a syscomments.text = '', luego tratas de ejecutar el SP y verá que aun
funciona.

Espero haberme explicado bien, escribí un poco a las carreras, estoy
"programando", jejejeje, pero con gusto te puedo seguir ayudando.

Saludos para todos.

Jorge Eastman


"Francisco Matamoros" escribió en el mensaje
news:
Bueno, a ver, que me adelanto, supongo que eso es lo que encripta con with
encryption, pero hay software para quitar esa protección y te deja una
copia del stored original. Si sabes más, por favor, házmelo saber.
Gracias jeastman

"jeastman - Hotmail" escribió en el mensaje
news:uaM$
Francisco, si la tienes, eso lo vi fue en SQL 2K,


select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'

Ejecuta esa consulta, en la tabla syscommets buscate el contenido de la
columna "text" y dime que vez ahi.

Manteme informado.

Un saludo

"Francisco Matamoros" escribió en el mensaje
news:
Gracias por la respuesta, algo de eso ví, el problema es que estamos
trabajando con SS 2000 y me parece que para 2000 no tengo esa
posibilidad. Como comenté, los tenemos con with encryption pero se
descifran sencillamente con software.

"jeastman - Hotmail" escribió en el mensaje
news:
Que tal Francisco.

He visto una forma que no he utilizado personalmente, pero, por lo
menos te aeguro que yo no he podido entrarle a los fuentes de los de
los SP.

Se escriben los SP con with encryption, luego que se han compilado se
borra los fuentes, la borrada incluso se puede automatizar con un
script.

Saludos.

"Francisco Matamoros" escribió en el mensaje
news:
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de
una aplicación de trazabilidad, en principio en modo demostración. El
instalador de esa descarga deberá instalar un sql server
(concretamente y de momento el msde), y posteriormente restaurar o
adjuntar, ya veremos cómo hacerlo, nuestra base de datos. La mayor
parte de la lógica de la aplicación está en la base de datos, por lo
que nos preocupa que esa lógica sea visible. Cuando empezamos
utilizábamos en vistas y storeds "with encryption", pero la verdad es
que es una forma bastante suave de hacerlo, pues hay varios programas
que deshacen esa encriptación, por lo que aunque en principio es una
barrera, el que esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.






















Respuesta Responder a este mensaje
#14 jeastman - Hotmail
23/10/2007 - 16:20 | Informe spam
Para ampliar un poco más lo que te dije en el comentario anterior

select so.name,
sc.text
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'
and so.name = 'SPcredSolicitudUpd'

ésta consulta que verifica un SP real, muestra que tiene 4 registros en el
syscomments, bien, si yo quiero borrar el fuente que debería hacer:

OJO... ADVERTENCIA

Acabo de notar un error que te pasé en el artículo anterior, el campo text
no se puede modificar, es un campo computado, en ese caso debes actualizar
es el campo ctext.

Aqui tienes la form en que yo lo hice y me funcionó, pero ten mucha atención
en lo siguiente, lo que está comentado primero se ejecutan esas dos líneas,
luego la actualización y por último las dos últimas líneas que están
comentadas, porqué: bueno, no se permite actualizar de forma directa las
tablas del catalogo

begin transaction

/*
exec SP_CONFIGURE 'ALLOW UPDATES', 1
RECONFIGURE WITH OVERRIDE


exec SP_CONFIGURE 'ALLOW UPDATES', 0
RECONFIGURE WITH OVERRIDE

*/

select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'
and so.name = 'SPcredSolicitudUpd'

update syscomments
set ctext = 0
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'
and so.name = 'SPcredSolicitudUpd'

select so.name,
sc.text
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'
and so.name = 'SPcredSolicitudUpd'

rollback transaction


"Francisco Matamoros" escribió en el mensaje
news:
Bueno, a ver, que me adelanto, supongo que eso es lo que encripta con with
encryption, pero hay software para quitar esa protección y te deja una
copia del stored original. Si sabes más, por favor, házmelo saber.
Gracias jeastman

"jeastman - Hotmail" escribió en el mensaje
news:uaM$
Francisco, si la tienes, eso lo vi fue en SQL 2K,


select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'

Ejecuta esa consulta, en la tabla syscommets buscate el contenido de la
columna "text" y dime que vez ahi.

Manteme informado.

Un saludo

"Francisco Matamoros" escribió en el mensaje
news:
Gracias por la respuesta, algo de eso ví, el problema es que estamos
trabajando con SS 2000 y me parece que para 2000 no tengo esa
posibilidad. Como comenté, los tenemos con with encryption pero se
descifran sencillamente con software.

"jeastman - Hotmail" escribió en el mensaje
news:
Que tal Francisco.

He visto una forma que no he utilizado personalmente, pero, por lo
menos te aeguro que yo no he podido entrarle a los fuentes de los de
los SP.

Se escriben los SP con with encryption, luego que se han compilado se
borra los fuentes, la borrada incluso se puede automatizar con un
script.

Saludos.

"Francisco Matamoros" escribió en el mensaje
news:
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de
una aplicación de trazabilidad, en principio en modo demostración. El
instalador de esa descarga deberá instalar un sql server
(concretamente y de momento el msde), y posteriormente restaurar o
adjuntar, ya veremos cómo hacerlo, nuestra base de datos. La mayor
parte de la lógica de la aplicación está en la base de datos, por lo
que nos preocupa que esa lógica sea visible. Cuando empezamos
utilizábamos en vistas y storeds "with encryption", pero la verdad es
que es una forma bastante suave de hacerlo, pues hay varios programas
que deshacen esa encriptación, por lo que aunque en principio es una
barrera, el que esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.






















Respuesta Responder a este mensaje
#15 jeastman - Hotmail
23/10/2007 - 16:25 | Informe spam
Como te has dado cuenta, la actuallización que te pasé en la lína anterior
está en dentro de una transacción, eso lo hice así ya que estaba trabajando
en una base de datos real y no quería dañar lo que tengo ahi ;-)

Cualquier cosa pegas un grito


"Francisco Matamoros" escribió en el mensaje
news:
Bueno, a ver, que me adelanto, supongo que eso es lo que encripta con with
encryption, pero hay software para quitar esa protección y te deja una
copia del stored original. Si sabes más, por favor, házmelo saber.
Gracias jeastman

"jeastman - Hotmail" escribió en el mensaje
news:uaM$
Francisco, si la tienes, eso lo vi fue en SQL 2K,


select so.name,
sc.*
from sysobjects so inner join syscomments sc on
sc.id = so.id
where so.xtype = 'P'

Ejecuta esa consulta, en la tabla syscommets buscate el contenido de la
columna "text" y dime que vez ahi.

Manteme informado.

Un saludo

"Francisco Matamoros" escribió en el mensaje
news:
Gracias por la respuesta, algo de eso ví, el problema es que estamos
trabajando con SS 2000 y me parece que para 2000 no tengo esa
posibilidad. Como comenté, los tenemos con with encryption pero se
descifran sencillamente con software.

"jeastman - Hotmail" escribió en el mensaje
news:
Que tal Francisco.

He visto una forma que no he utilizado personalmente, pero, por lo
menos te aeguro que yo no he podido entrarle a los fuentes de los de
los SP.

Se escriben los SP con with encryption, luego que se han compilado se
borra los fuentes, la borrada incluso se puede automatizar con un
script.

Saludos.

"Francisco Matamoros" escribió en el mensaje
news:
Buenas tardes a todos.
Tenemos intención de proporcionar desde una página web una descarga de
una aplicación de trazabilidad, en principio en modo demostración. El
instalador de esa descarga deberá instalar un sql server
(concretamente y de momento el msde), y posteriormente restaurar o
adjuntar, ya veremos cómo hacerlo, nuestra base de datos. La mayor
parte de la lógica de la aplicación está en la base de datos, por lo
que nos preocupa que esa lógica sea visible. Cuando empezamos
utilizábamos en vistas y storeds "with encryption", pero la verdad es
que es una forma bastante suave de hacerlo, pues hay varios programas
que deshacen esa encriptación, por lo que aunque en principio es una
barrera, el que esté por mirar lo va a hacer igualmente.
¿Alguien ha planteado esto alguna vez o sabe como orientarnos?
Gracias de antemano.






















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida