Foros del Web » Programando para Internet » PHP »

Seguridad AJAX y PHP

Estas en el tema de Seguridad AJAX y PHP en el foro de PHP en Foros del Web. Que tal, no se si alguien le aya pasado algo similar, resulta que necesito hacer una aplicación AJAX que inserte en la base de datos, ...
  #1 (permalink)  
Antiguo 08/02/2012, 10:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Seguridad AJAX y PHP

Que tal, no se si alguien le aya pasado algo similar, resulta que necesito hacer una aplicación AJAX que inserte en la base de datos, hasta ahí no tengo problema, el problema el problema es que necesito manejar dos parámetros de seguridad, un token y una validación de dominio (ya que se llama a el archivo .php desde otro dominio). La cuestión es que no se como generar estos parámetros desde el archivo .js, o recogerlos desde el .php, espero haberme explicado y de antemano gracias.
  #2 (permalink)  
Antiguo 08/02/2012, 12:42
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 11 meses
Puntos: 56
Respuesta: Seguridad AJAX y PHP

Para la validacion del dominio hace tiempo use este javascript.

Código Javascript:
Ver original
  1. <!-- Script by hscripts.com -->
  2. <script type="text/javascript">
  3. function checkDomain(nname)
  4. {
  5. var arr = new Array( '.com','.net','.org','.biz','.coop','.info','.museum','.name',
  6. '.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
  7. '.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
  8. '.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
  9. '.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
  10. '.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
  11. '.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
  12. '.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
  13. '.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
  14. '.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
  15. '.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
  16. '.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
  17. '.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
  18. '.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
  19. '.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
  20. '.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
  21. '.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
  22. '.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
  23. '.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
  24. '.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
  25. '.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
  26. '.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
  27. '.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
  28. '.wf','.ye','.yt','.yu','.za','.zm','.zw');
  29. var mai = nname;
  30. var val = true;
  31. var dot = mai.lastIndexOf(".");
  32. var dname = mai.substring(0,dot);
  33. var ext = mai.substring(dot,mai.length);
  34. if(dot>2 && dot<57)
  35. {
  36. for(var i=0; i<arr.length; i )
  37. {
  38. if(ext == arr[i])
  39. {
  40. val = true;
  41. break;
  42. }
  43. else
  44. {
  45. val = false;
  46. }
  47. }
  48. if(val == false)
  49. {
  50. alert("Su extension de dominio " ext " no es correcto");
  51. return false;
  52. }
  53. else
  54. {
  55. for(var j=0; j<dname.length; j )
  56. {
  57. var dh = dname.charAt(j);
  58. var hh = dh.charCodeAt(0);
  59. if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
  60. {
  61. if((j==0 || j==dname.length-1) && hh == 45)
  62. {
  63. alert("Nombre de dominio no se debe comenzar con el final '-'");
  64. return false;
  65. }
  66. }
  67. else {
  68. alert("Su nombre de dominio no deben tener caracteres especiales");
  69. return false;
  70. }
  71. }
  72. }
  73. }
  74. else {
  75. alert("Su nombre de dominio es demasiado corto / largo");
  76. return false;
  77. }
  78. return true;
  79. }
  80. function ctck()
  81. {
  82. var sds = document.getElementById("dum");
  83. if(sds == null){alert("Esta utilizando un paquete gratuito. No esta autorizado para retirar la etiqueta.");}
  84. var sdss = document.getElementById("dumdiv");
  85. if(sdss == null){alert("Esta utilizando un paquete gratuito. No esta autorizado para retirar la etiqueta.");}
  86. }
  87. document.onLoad="ctck()";
  88. </script>
  89. <!-- Script by hscripts.com -->

Código HTML:
Ver original
  1. Dar nombres de dominio para validar<form name="test">
  2. <input name=mailf type=text>
  3. <input type=button value=test onclick="checkDomain(test.mailf.value)">
  4. </form><div align=center style="font-size: 10px; color: #dadada;" id="dumdiv">
  5. <a href="http://www.hscripts.com" id="dum" style="text-decoration:none; color: #dadada;">©h</a></div>

Espero que te sea util suerte.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.

Etiquetas: ajax, javascript, seguridad, token
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:33.