有几个问题,就是比较可能解决要点实际的工作经验的那种的,希望大家帮忙看看了1 比如,我们在写一个 BBS 的时候,总要用到 htmlspecialchars 这个函数。 我想问问,这个函数是做干什么用的呢?是否和数据库注入有关呢,现在写了一个小的 BBS, 感觉再发贴的时候都写回车,但是,当把相应的文字打出来的时候,却都成了一行直接的文字。
2 我写了一个小的 BBS. 总是有点担心,就是,比如我的网站访问量如果很打的时候,就有可能产生有些人同时发帖的情况,那么,我感觉这个可能涉及到一个同步异步的问题,我想问一下,这个同步异步的问题,是应该我写程序及解决么?还是有我的 web hoster 他们提供相应的程序解决呢?恩,先问着两个吧,谢谢大家了。

解决方案 »

  1.   

    另外,再补充一下,有个链接,好像跳转的不对,比如,我想让他跳转到 www.baidu.com 上,我就是这样子写的<a href="www.baidu.com">百度</a> ,但是感觉跳转到了 http://localhost/02/www.baidu.com ,这个是怎么回事呢?
      

  2.   

    1. htmlspecialchars 函数是把html 里的 < > & " '进行转换成 &lt; &gt; &amp; &quot; &#039
    这是为了保证用户在回复框提交这些字符后 浏览器不致于把这些特殊字条当HTML代码来解析,保证页面正常显示在HTML代码里,换行是<br/>. 对回车符不进行解析.所以想在页面进行换行,应该在程序中把 \n 替换成 <br/>2.在mysql里 对某个表进行写操作是会对数据表加一个排它锁.所以纵然有同时发贴,对数据库的插入也是会有前后的,即使前后相差小于0.01s, 所以在写用户发贴程序时可以不用考虑这个问题.
      

  3.   

    <a href="http://www.baidu.com">百度</a>
    加上协议不解释
      

  4.   


    恩,谢谢楼上。1 关于第一个问题,也就是用 htmlspecialchars 这个函数先将提交的内容过滤一遍,然后,对于这种回车的问题,是不是就要用到 replace 这样子的函数呢,将 "\n" 换成<br/>?2 如何防止数据库注入呢?3 
      

  5.   

    需要输入的地方都过滤一遍 尤其是sql的一些注释关键字等
      

  6.   


    1.替换成<br/>2.对特殊字符进行过滤!
      

  7.   

    1用str_replace的 '&nbsp;' 和'<br>'替换掉 ' ' 和 '\n'2 第二个没看明白- -3  <a href="http://......."></a>不加http://协议的话是跳转到你的根目录下面的.....链接或者文件夹,加了就是跳转到.....