Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Programación Web
»
Permisos
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Permisos (Leído 4562 veces)
su
{ L0 } Ñuub
Mensajes: 34
Permisos
«
en:
Julio 19, 2015, 03:55:45 am »
Hola ya tenía mucho tiempo sin escribir, decidí aprender programación web, y me ha surgido una duda sobre permisos.
Estoy usando php con MySQL, la cuestión es la siguiente, no sé como los foros, comunidades y otras páginas manejan los registros de usuarios, como debe estructurarse la bd, seguridad para contraseñas, una vez que se tiene eso.
Si mi página es de productos y quiero que los usuarios puedan registrarlos, eliminarlos, o consultarlos, limitandolos a determinadas acciones.
Ejemplo:
usuario1 puede (registrar)
usuario2 puede (eliminar, consultar)
usuario3 puede (registrar, eliminar, consultar)
Qué se puede hacer en ese caso, algún tutorial o manual que me recomienden.
En línea
Krakakanok
Co-Administrador
{ L7 } Juanker
Mensajes: 1518
Los buenos nunca se esconden.
Re:Permisos
«
Respuesta #1 en:
Julio 19, 2015, 01:05:50 pm »
Ahora normalmente se suelen usar los cms y se modifican luego ya que les dan una base al proyecto.
La seguridad de las contraseñas se hace de varias maneras pero alguna de las mas comunes es la de hashear la contraseña simplemente (no recomendado), añadir a la contraseña un salt y despues hashear, hashear varias veces la contraseña, ...
Lo mas seguro es utilizar un salt o varios y hashear varias veces, y a ser posible utilizar https en tu sitio web.
Haciendo grupos de usuarios que tengan distintos tipos de permisos, cada usuario podría estar en varios grupos (depende de como sea tu visión claro).
Saludos.
En línea
No hagas nada cuyo resultado sea incierto.
monitor mode enabled on usa0
quuim
Project Member
{ L4 } Geek
Mensajes: 430
Si votar sirviera para algo, sería ilegal
Re:Permisos
«
Respuesta #2 en:
Julio 19, 2015, 01:22:32 pm »
Hay diferentes maneras de hacerlo, una podria hacer diferentes "grupos". Por ejemplo el grupo 1 solo puede registrar, el grupo 2 solo puede eliminar y consultar y el grupo 3 puede registrar, eliminar y consultar (poniendo como ejemplo lo que has puesto tu arriba, pero se podrian hacer los grupos de cualquier otra forma).
Una vez tienes esto, creas otra columna para los usuarios en la bd (ponemos que se llama "grupo"), y para cada usuario que añadas le metes el grupo que le corresponda:
TABLA USUARIOS
╔═════════════════════════════════════════╗
║ usuario contraseña correo grupo ║
╠═════════════════════════════════════════╣
║ usuario1 xxx
[email protected]
1 ║
║ usuario2 xxx
[email protected]
2 ║
║ usuario3 xxx
[email protected]
3 ║
╚═════════════════════════════════════════╝
Así cuando un usuario intente realizar alguna de las acciones que dices, compruebas en que grupo está y depende del que sea le dejas continuar con la acción o no, por ejemplo si alguien intenta eliminar podrías hacer algo como esto:
Código: PHP
//Cutre-code, es solo para hacerse una idea xD
//Suponiendo que $grupo es el valor que habia en la tabla
if
(
$grupo
==
1
)
{
echo
"No tienes permisos para realizar esta acción"
}
else
{
//El code para elimiar el producto
}
Si no quieres crear grupos, o no te sirve para lo que quieres hacer, también podrías crear tres columnas adicionales a la tabla de usuarios que funcionen como booleanos (una para cada permiso, creo que las columnas booleanas son de tipo bit pero asi de memoria no recuerdo exactamente xD) y le pones a cada usuario solo los que le correspondan.
╔═══════════════════════════════════════╗
║ usuario registrar consultar eliminar ║
╠═══════════════════════════════════════╣
║ usuario1 1 0 0 ║
║ usuario2 0 1 1 ║
║ usuario3 1 1 1 ║
╚═══════════════════════════════════════╝
Así tambien puedes comprobar de una manera parecida a la de arriba si el usuario tiene permisos:
Código: PHP
//Suponiendo que $eliminar es el valor que había en la tabla
if
(
$eliminar
==
1
)
{
//Code para eliminar
}
else
{
echo
"No tienes permisos para realizar esta opción"
echo
"GTFO"
}
Supongo que hay mas maneras de hacerlo pero estas han sido las que se me han ocurrido.
En línea
Quien rie el último, piensa más lento
Backtrack
- Giving machine guns to monkeys since 2006
You have an error in your SQL syntax check the manual that corresponds to your MySQL server version for the right syntax to us
Krakakanok
Co-Administrador
{ L7 } Juanker
Mensajes: 1518
Los buenos nunca se esconden.
Re:Permisos
«
Respuesta #3 en:
Julio 19, 2015, 06:14:45 pm »
quuim se lo has dado masticado xDDD.
Además de esas puedes crear una tabla intermedia para relacionar los grupos e usuarios si quieres que un usuario pertenezca a varios grupos.
Saludos.
En línea
No hagas nada cuyo resultado sea incierto.
monitor mode enabled on usa0
su
{ L0 } Ñuub
Mensajes: 34
Re:Permisos
«
Respuesta #4 en:
Agosto 08, 2015, 06:39:59 pm »
Gracias por comentar
Lo haré de las maneras que me comentan.
Saludos.
En línea
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Programación Web
»
Permisos
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more