php换行符sql,如何在PHP和MySQL的textarea中给换行符的同时避免SQL注入?
我想要的是当用户在描述框中输入换行符时,即: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注入?相关推荐
- textarea中的换行如何展示在页面
textarea中的换行如何展示在页面 场景:后台添加标题,想在前台换行展示 控制器中:$sTitle = nl2br($sTitle); 视图:{!! $sTitle !!} nl2br():在字符 ...
- html unicode换行符,让QQ呢称竖起来使用Unicode中的换行符来实现
其实原理是使用Unicode中的换行符来实现换行,我们的中文电脑使用的是中文的GBK编码,所以腾讯过滤换行符的时候过滤的是GBK的换行符,Unicode的换行符算是漏网之鱼,竖起来的呢称就是利用了这个 ...
- 关于textarea中的回车符
当你在textarea中输入回车换行或者从其他地方将包含回车换行符的文本粘贴过来,然后通过js获取到textarea的内容,你会发现回车换行符\r\n全被替换成了换行符\n,而如果你的textarea ...
- 【uni-app】textarea中的换行问题
关于textarea要注意的是,在微信小程序,百度小程序及字节跳动小程序中,textarea是原生组件,层级高于前端组件,请勿在scroll-view,swiper,picker-view,movab ...
- textarea 手机端无法换行_处理textarea中的换行和空格
当我们使用 textarea 在前台编辑文字,并用 js 提交到后台的时候,空格和换行是我们最需要考虑的问题.在textarea 里面,空格和换行会被保存为/s和/n,如果我们前台输入和前台显示的文字 ...
- php打印查看换行符,关于字符串:用单引号在PHP中打印换行符
我尝试尽可能使用单引号,我注意到我不能在单引号中使用 n. 我知道我可以通过按回车字面输入换行符,但这会搞砸我代码的缩进. 是否有一些ASCII字符或我可以输入的东西,当我使用单引号时会生成换行符? ...
- Java 中textarea 换行,textarea 中的换行符
XML/HTML代码 '----'+ +'---' 有时候要title 提示多行信息,有两种解决方法: 一:硬回车就是的 there 二:用html转义序列 把鼠标放上来 这里再说一下html中的转义 ...
- textarea中的换行符
页面向数据库存值时: var reg = new RegExp("\r\n ","g"); comments = comments.replace(reg ...
- 记事本和textarea中的换行
换行符: chr(13)&chr(10) php替换 $note=str_replace(chr(13).chr(10),"<br>",$note);
- mysql去除内容中的换行和回车
UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), "), CHAR(13), "); char(10): ...
最新文章
- 调查:中国CIO在亚太拥最大战略影响力
- Jenkins项目迁移
- 实验8.2 指针与字符串 7-2 字符串排序
- Properties作为Map集合的使用
- 数据挖掘算法-矩阵分解在推荐系统中的应用
- linux的显示器设置
- 【单片机小白屑作】基于清翔QX-MCS51单片机的精简版定时炸弹
- 《基于张量网络的机器学习入门》学习笔记9(HHL算法)
- 怎样花两年时间去面试一个人(转自MIND HACKS)
- 互联网周刊封面文章:全球网络广告三大趋势
- 职业规划(一)怎么写简历
- React React-Redux Redux
- html table tb左对齐,标签之美五——网页表格的设计
- WebDAV之葫芦儿·派盘+Orgzly
- matlab 热图,基于表格数据创建热图
- 2022年初级经济师考试综合试题及答案
- 数据流图详解(DFD)
- 案例实战:用户评论情感分析模型
- 中兴事件再起,美国发布“晋华禁令”,这次遭殃的是存储芯片DRAM
- 洛谷P1605 迷宫 纯C语言题解