让用户能够提交代码在PHP中替换什么?

its*_*sme 1 php regex security escaping

嗨我打算让用户能够提交一些代码(php,java,javascript c ++等等......无论他们想要什么意思).

那么有人可以建议我最好的做法,使我的网站安全吗?:))

我的意思是哪些标签/字符/字符串在php中被提交一次提交代码字符串?

Mic*_*ski 7

如果您的目的是在屏幕上显示代码,则在将其存储到数据库中之前,您无需转义或替换任何内容(如果您打算存储它).当然,这不适用于通过mysql_real_escape_string()诸如(或您的RDBMS等效的清理例程)之类的东西来逃避数据库插入.这一步仍然是绝对必要的.

显示代码时,请确保:

  1. 您不要通过eval()系统调用或系统调用来评估任何提交的代码.

  2. 将代码显示回浏览器时,请将其转义htmlspecialchars().永远不要显示未转义,否则您将引入跨站点脚本漏洞.