我的表格可能被黑客入侵

1 javascript php

我昨天发了一个问题,我打算回到今天,但是我写了一些JavaScript作为XSS预防的第一线.然而,当我在我的实时服务器上测试它时,我抓住了一些无效的输入,因为javascript捕获了php部分.我的表单使用post和php不在我的表单项中(我没有输入).这可能是采取表格行动或其他什么?我受到了保护,任何想法

这是我的代码,它在提交按钮上触发.

    function validateForBadNess(){

var theShit = new Array("*","^", "$", "(",")","{", "}","[", "]","\\", "|", "'","/","?",",","=",">","gt","lt", "<","script","`","´","php");
var tagName = new Array();

tagName[0] = "input";
tagName[1] = "select";
tagName[2] = "textbox";
tagName[3] = "textarea";

for (ms=0;ms<tagName.length;ms++){

 // loop through  the elements of the form
 var formItems = document.getElementsByTagName(tagName[ms]);

  for (var xs=0;xs<formItems.length;xs++){

   var thisString = formItems[xs].value;

   // loop through bad array
   for (zs in theShit){

    //alert(thisString + " " + thisString.indexOf(theShit[zs]))
    if(thisString.indexOf(theShit[zs]) >= 0){

    alert("Sorry but the following character: " + theShit[zs] + " is not permitted. Please omit it from your input.\nIf this is part of your password please contact us to heave your password reset.")
    return false;

    }

     }



  // loop for formitems 
  }

 // tagName toop
 }
// original condition
}
Run Code Online (Sandbox Code Playgroud)

Sar*_*raz 5

为什么不使用着名的HTML Purifier呢?

HTML Purifier是一个用PHP编写的符合标准的HTML过滤器库.HTML Purifier不仅会删除所有恶意代码(更好地称为XSS),并且具有经过全面审核,
安全且允许的白名单,还可以确保您的文档符合标准,只有通过全面了解W3C的规范才能实现.
厌倦了使用BBCode,因为当前的
HTML过滤器不完整或不安全?有一个
WYSIWYG编辑器,但从来没有能够使用它?为您正在构建的应用程序寻找高质量,符合标准的开源组件?HTML Purifier适合您!


Pek*_*ica 5

在防御攻击方面,你所做的事情是完全没有必要和无用的.任何基于JavaScript的"保护"都将在几秒钟内被规避,合法用户将不会乐于无法使用该$标志.始终假设任何传入的数据可能被篡改.

在服务器端输出数据时需要小心.用于htmlspecialchars()任何传入的文本数据.如果您有传入的HTML需要"清理",请使用Sarfraz建议的HTML净化器.

相关SO阅读: