[cpif] r125 - trunk/frontend-web

svn at argo.es svn at argo.es
Wed Jun 6 13:56:44 CEST 2007


Author: jcea
Date: Wed Jun  6 13:56:41 2007
New Revision: 125

Log:
Somos mas estrictos en la verificacion de las URLs.



Modified:
   trunk/frontend-web/url_.py
   trunk/frontend-web/url_logout.py
   trunk/frontend-web/url_nuevo_hilo_POST.py
   trunk/frontend-web/url_nuevo_post_POST.py
   trunk/frontend-web/url_nuevo_usuario.py
   trunk/frontend-web/url_nuevo_usuario_POST.py
   trunk/frontend-web/url_stop.py
   trunk/frontend-web/url_todo_leido.py

Modified: trunk/frontend-web/url_.py
==============================================================================
--- trunk/frontend-web/url_.py	(original)
+++ trunk/frontend-web/url_.py	Wed Jun  6 13:56:41 2007
@@ -4,6 +4,8 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
+  if len(path)!=1 : return None
+
   import database
   root=conn.get_root()
   database.actualiza_no_leidos(conn,usuario)

Modified: trunk/frontend-web/url_logout.py
==============================================================================
--- trunk/frontend-web/url_logout.py	(original)
+++ trunk/frontend-web/url_logout.py	Wed Jun  6 13:56:41 2007
@@ -3,6 +3,7 @@
 from globales import monitor
 
 def gestiona_url(handler,path,usuario) :
+  ir len(path)!=1 : return None
   # Para borrar una cookie hay que mandarla con una fecha en el pasado.
   return (401,"cpif_auth=X; path=/; expires=Thu, 01-01-1970 01:00:00 GMT","")
 

Modified: trunk/frontend-web/url_nuevo_hilo_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_hilo_POST.py	(original)
+++ trunk/frontend-web/url_nuevo_hilo_POST.py	Wed Jun  6 13:56:41 2007
@@ -4,14 +4,21 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
+  if len(path)!=2 : return None
+  try :
+    metatag=int(path[1])
+  except :
+    return None
+  if metatag not in conn.get_root()["usuarios"]["usuarios"][database.normaliza_nick(usuario)]["punto de lectura no leidos"] :
+    return None
+
   import cgi
   ctype,pdict=cgi.parse_header(handler.headers.getheader('content-type'))
   cuerpo=cgi.FieldStorage(fp=handler.rfile,headers=handler.headers,environ={'REQUEST_METHOD':'POST'},keep_blank_values=1)
   titulo=cgi.escape(cuerpo.getfirst("titulo"))
   texto=cgi.escape(cuerpo.getfirst("texto"))
   texto=texto.replace("\r","").replace("\n","<br>\r\n")
-  metatag = int(path[-1])
   import database
   database.mensaje_add(conn,texto,usuario,titulo=titulo,metatag=metatag)
-  return (302,"/indice/%d" % metatag,"")
+  return (302,"/indice/%d" %metatag,"")
 

Modified: trunk/frontend-web/url_nuevo_post_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_post_POST.py	(original)
+++ trunk/frontend-web/url_nuevo_post_POST.py	Wed Jun  6 13:56:41 2007
@@ -4,8 +4,16 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
+  if len(path)!=3 : return None
+  try :
+    hilo=int(path[2])
+    metatag=int(path[1])
+  except :
+    return None
+  if metatag not in conn.get_root()["usuarios"]["usuarios"][database.normaliza_nick(usuario)]["punto de lectura no leidos"] :
+    return None
+
   import database
-  hilo=int(path[-1])
   import cgi
   ctype,pdict=cgi.parse_header(handler.headers.getheader('content-type'))
   cuerpo=cgi.FieldStorage(fp=handler.rfile,headers=handler.headers,environ={'REQUEST_METHOD':'POST'},keep_blank_values=1)
@@ -13,5 +21,5 @@
   texto=texto.replace("\r","").replace("\n","<br>\r\n")
   import database
   database.mensaje_add(conn,texto,usuario,hilo=hilo)
-  return (302,"/indice/%d" % int(path[1]), "")
+  return (302,"/indice/%d" %metatag, "")
 

Modified: trunk/frontend-web/url_nuevo_usuario.py
==============================================================================
--- trunk/frontend-web/url_nuevo_usuario.py	(original)
+++ trunk/frontend-web/url_nuevo_usuario.py	Wed Jun  6 13:56:41 2007
@@ -3,6 +3,7 @@
 from globales import monitor
 
 def gestiona_url(handler,path,usuario) :
+  if len(path)!=1 : return None
   import skins
   pagina = skins.Skin()
   pagina.load_url(path)

Modified: trunk/frontend-web/url_nuevo_usuario_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_usuario_POST.py	(original)
+++ trunk/frontend-web/url_nuevo_usuario_POST.py	Wed Jun  6 13:56:41 2007
@@ -4,6 +4,8 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
+  if len(path)!=1 : return None
+
   import skins
   pagina = skins.Skin()
   pagina.load_url(path)
@@ -28,7 +30,7 @@
 
   if clave1!=clave2 :
     pagina.load_url(["error"])
-    pagina.load_dict({"generic_message": "<h1>Las claves introducinas no coinciden</h1>"})
+    pagina.load_dict({"generic_message": "<h1>Las claves introducidas no coinciden</h1>"})
     return (pagina.web())
 
   import database

Modified: trunk/frontend-web/url_stop.py
==============================================================================
--- trunk/frontend-web/url_stop.py	(original)
+++ trunk/frontend-web/url_stop.py	Wed Jun  6 13:56:41 2007
@@ -3,6 +3,8 @@
 from globales import monitor
 
 def gestiona_url(handler,path,usuario) :
+  if len(path)!=1 : return None
+
   import skins
   pagina = skins.Skin()
   pagina.load_url(path)

Modified: trunk/frontend-web/url_todo_leido.py
==============================================================================
--- trunk/frontend-web/url_todo_leido.py	(original)
+++ trunk/frontend-web/url_todo_leido.py	Wed Jun  6 13:56:41 2007
@@ -4,13 +4,13 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
-  import database
   if len(path)!=2 : return None
+  import database
   try :
-    metatag=int(path[-1])
+    metatag=int(path[1])
     assert metatag in conn.get_root()["usuarios"]["usuarios"][database.normaliza_nick(usuario)]["punto de lectura no leidos"]
   except :
     return None
   database.marca_todo_leido(conn,database.normaliza_nick(usuario),metatag)
-  return (302,"/indice/%d" % int(path[-1]),"")
+  return (302,"/indice/%d" %metatag,"")
 



More information about the cpif mailing list