我想要的是当用户在描述框中输入换行符时,即:HTML中的textarea,则所有数据都安全地存储在SQL数据库中,但是如果用户给出链接,则链接也变为文本,但是当用户在描述文本框中输入回车符或换行符时,则它保存在数据库中,并且在从数据库中检索它时,将再次显示换行符.

//In The text area the user enter the text. Here I want if user gives html links then links becomes text and if user give line break then line break store in the database and I can get back as it is how user submitted the form. Also I want to store data securely for avoiding sql injection but dont have the exact idea how to do it.

$text = $_POST['description'];

$text = htmlentities($text); // Here I want to remove html entities for avoiding sql injection

$text = mynl2br($text);

// Now Fire Insert Query All the data save but while retrieving the data I am not able to get line break and turning links to the text.

function mynl2br($text) {

return strtr($text, array("\r\n" => '
', "\r" => '
', "\n" => '
'));

}

这就是我正在执行的操作,但是链接仍然是链接,并且在我检索文本时显示的内容没有换行符.一行或一段落中的所有文本.

请在上面的代码中建议我做错了什么.以及如何避免sql注入并可以安全地存储和检索数据.

解决方法:

要保留新的换行,必须保留原始的换行符,如果要替换它们,则必须换回新的换行符,或者仅在显示页面上的文本(推荐)时才使用nl2br,而不是在存储或检索以进行编辑之前.

链接也同样适用,在存储之前不要更改它们,仅在页面上显示它时才替换它,这样就不会再有编辑问题,并且由于不存储,您可以随时修改链接的生成.结果不过是原来的.

为了避免SQL注入,您不想使用这些魔术函数(htmlentities,strip_tags,magic_quotes等-有很多功能,但都不是完美的)-最佳解决方案是使用准备好的语句:

https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.quickstart.prepared-statements.html

它通过为值提供占位符来解决该问题,以便用户输入无法修改查询.

标签:laravel,sql-injection,html,mysql,php

来源: https://codeday.me/bug/20191108/2009041.html

php换行符sql,如何在PHP和MySQL的textarea中给换行符的同时避免SQL注入?相关推荐

  1. textarea中的换行如何展示在页面

    textarea中的换行如何展示在页面 场景:后台添加标题,想在前台换行展示 控制器中:$sTitle = nl2br($sTitle); 视图:{!! $sTitle !!} nl2br():在字符 ...

  2. html unicode换行符,让QQ呢称竖起来使用Unicode中的换行符来实现

    其实原理是使用Unicode中的换行符来实现换行,我们的中文电脑使用的是中文的GBK编码,所以腾讯过滤换行符的时候过滤的是GBK的换行符,Unicode的换行符算是漏网之鱼,竖起来的呢称就是利用了这个 ...

  3. 关于textarea中的回车符

    当你在textarea中输入回车换行或者从其他地方将包含回车换行符的文本粘贴过来,然后通过js获取到textarea的内容,你会发现回车换行符\r\n全被替换成了换行符\n,而如果你的textarea ...

  4. 【uni-app】textarea中的换行问题

    关于textarea要注意的是,在微信小程序,百度小程序及字节跳动小程序中,textarea是原生组件,层级高于前端组件,请勿在scroll-view,swiper,picker-view,movab ...

  5. textarea 手机端无法换行_处理textarea中的换行和空格

    当我们使用 textarea 在前台编辑文字,并用 js 提交到后台的时候,空格和换行是我们最需要考虑的问题.在textarea 里面,空格和换行会被保存为/s和/n,如果我们前台输入和前台显示的文字 ...

  6. php打印查看换行符,关于字符串:用单引号在PHP中打印换行符

    我尝试尽可能使用单引号,我注意到我不能在单引号中使用 n. 我知道我可以通过按回车字面输入换行符,但这会搞砸我代码的缩进. 是否有一些ASCII字符或我可以输入的东西,当我使用单引号时会生成换行符? ...

  7. Java 中textarea 换行,textarea 中的换行符

    XML/HTML代码 '----'+ +'---' 有时候要title 提示多行信息,有两种解决方法: 一:硬回车就是的 there 二:用html转义序列 把鼠标放上来 这里再说一下html中的转义 ...

  8. textarea中的换行符

    页面向数据库存值时: var reg = new RegExp("\r\n ","g");    comments = comments.replace(reg ...

  9. 记事本和textarea中的换行

    换行符: chr(13)&chr(10) php替换 $note=str_replace(chr(13).chr(10),"<br>",$note);

  10. mysql去除内容中的换行和回车

    UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), "), CHAR(13), "); char(10): ...

最新文章

  1. 调查:中国CIO在亚太拥最大战略影响力
  2. Jenkins项目迁移
  3. 实验8.2 指针与字符串 7-2 字符串排序
  4. Properties作为Map集合的使用
  5. 数据挖掘算法-矩阵分解在推荐系统中的应用
  6. linux的显示器设置
  7. 【单片机小白屑作】基于清翔QX-MCS51单片机的精简版定时炸弹
  8. 《基于张量网络的机器学习入门》学习笔记9(HHL算法)
  9. 怎样花两年时间去面试一个人(转自MIND HACKS)
  10. 互联网周刊封面文章:全球网络广告三大趋势
  11. 职业规划(一)怎么写简历
  12. React React-Redux Redux
  13. html table tb左对齐,标签之美五——网页表格的设计
  14. WebDAV之葫芦儿·派盘+Orgzly
  15. matlab 热图,基于表格数据创建热图
  16. 2022年初级经济师考试综合试题及答案
  17. 数据流图详解(DFD)
  18. 案例实战:用户评论情感分析模型
  19. 中兴事件再起,美国发布“晋华禁令”,这次遭殃的是存储芯片DRAM
  20. 洛谷P1605 迷宫 纯C语言题解

热门文章

  1. 猴子数据分享微信域名防封技术
  2. 今天遇到的一个诡异的core和解决 std::sort
  3. LinkedIn庄振运:从国家部委公务员到硅谷系统性能专家,创新是唯一主旋律
  4. IntelliJ IDEA引入项目之后不显示 解决办法
  5. Java 递归求后一个数是前两个数之和
  6. ASP.NET MVC架构与实战系列之三:MVC控件解析
  7. 春节咋过?韩上班族平均休4天 计划花费2756元人民币
  8. 云之讯-》返回码105147
  9. Fastjson解析嵌套Map例子
  10. java编解码技术,netty nio