php 引号,php怎样传参不会被注入?

用户投稿 152 0

关于“php_sql_引号”的问题,小编就整理了【4】个相关介绍“php_sql_引号”的解答:

php怎样传参不会被注入?

防止注入的几种办法:

首先,通过系统函数间的过滤特殊符号addslashes(需要被过滤的内容)。

1、register_globals = off 设置为关闭状态。

2、sql语句书写时尽量不要省略小引号和单引号

select * from table where id=2 (不规范)

select * from ·table· where ·id·=’2’ (规范)。

3、正确的使用 $_post $_get $_session 等接受参数,并加以过滤。

4、提高数据库教程命名技巧,对于一些重要的字段可根据程序特点命名。

5、对于常用方法加以封装,避免直接暴露sql语句。

sql中有单引号怎么办?

如果插入的数据中包含单引号,就需要处理,用户可以将单引号替换成两个单引号,在sql

中连续两个单引号就表示一个单引号字符,例如:

insert into yourTable(f1,f2) values(100,'ab''c')表示插入

新记录f2字段为ab'c

使用函数replace可以实现这个功能:

replace(yourStr,"'","''")

在.NET里面,就要先检测输入的数据中有没有单引号了,如果有,就要自动设置将一个单引号改为两个单引号。

SQL,语句中什么时候可以用双引号,什么时候该用单引号?

在数据库端,sql语句引用字符型参数时需要对其加单引号,有些数据库例如access的查询对象里,可以直接使用双引号或单引号,当外层已经使用双引号的情况下,对内层的字符型参数则需要使用单引号。请注意mssql和mysql这类大中型数据库只接受单引号,双引号属于普通字符。

另外应用程序端,一般都使用双引号引用字符型参数。sql语句都被看做字符串参数,作为sql语句内部的字符型参数就必须使用单引号,以做与应用程序字符串引用的区别。

php变量赋值加单引号还是双引号?

在赋予一个string值的时候,可以用单引号或者双引号。

1.单引号和双引号的区别:

单引号:不会翻译变量。

双引号:会翻译变量,会将变量替换为之前赋予变量的值。

到此,以上就是小编对于“php_sql_引号”的问题就介绍到这了,希望介绍关于“php_sql_引号”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!