应用程序的用户信息流大概如下:由三个部分组成,一是用户机器,二是Internet,三是软件系统
对于用户机器,从安全的角度来看,使用服务器端脚本来处理一些数据验证什么的比javascript要更好,因为这样用户就无法看到我们的源代码。
对于Internet,SSL 和S-HTTP 这两种技术都能提供加密和防止修改信息的身份验证功能。
对于软件用户的输入限制:
1.使用函数addshashes() 在用户数据进入数据库之前过滤该数据。这个函数过滤掉的可能引起数据库问题的字符,可以用stripslashes()将数据返回到它的原始形式。
2.可以再php.ini配置文件中开启magic_quotes_gpc和magic_quotes_runtime的指令。这些指令将自动的添加和过滤斜杠。gpc用于格式化get,post,cookie的变量,runtime用与格式化进出数据库的数据。
3.当传递参数给system()和exec()时,必须使用escapeshellcmd()。该函数可以避免任何怀有恶意的用户输入强迫系统运行某些特定的字符。
4.可以使用函数strip_tags()从一个字符串中去掉HTML和PHP标记。
5.可以使用函数htmlspecialchars(),该函数将字符转换成它们的HTML等价实体。<会被转换成<.......