Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅允许在数据库中输入某些字符_Php_Html_Mysql_Stored Procedures_Phpmyadmin - Fatal编程技术网

Php 仅允许在数据库中输入某些字符

Php 仅允许在数据库中输入某些字符,php,html,mysql,stored-procedures,phpmyadmin,Php,Html,Mysql,Stored Procedures,Phpmyadmin,我正在检查答案,只接受某些类型的字符,而忽略一些字符 我在堆栈中找到了一个链接 但是,即使这阻止了在文本框中输入数据,任何对如何检查内容和从客户端删除模式略知一二的人都将允许它输入它想要的任何细节并发送到数据库 有什么方法可以阻止我的网站?我不需要某些字符,如空格、分号等 html和php中的前端 MySQL中的后端首先, 您可以为数据库中的每一列定义一个类型,例如,如果您将类型设置为整数,您将无法插入任何其他内容 假设您希望“过滤”或操作数据库中的字符串-我会制作一个正则表达式来替换字符串中任

我正在检查答案,只接受某些类型的字符,而忽略一些字符

我在堆栈中找到了一个链接

但是,即使这阻止了在文本框中输入数据,任何对如何检查内容和从客户端删除模式略知一二的人都将允许它输入它想要的任何细节并发送到数据库

有什么方法可以阻止我的网站?我不需要某些字符,如空格、分号等

html和php中的前端 MySQL中的后端首先, 您可以为数据库中的每一列定义一个类型,例如,如果您将类型设置为整数,您将无法插入任何其他内容

假设您希望“过滤”或操作数据库中的字符串-我会制作一个正则表达式来替换字符串中任何不需要的字符,并将其插入数据库中。

首先, 您可以为数据库中的每一列定义一个类型,例如,如果您将类型设置为整数,您将无法插入任何其他内容


假设您希望“过滤”或操作数据库中的字符串-我会制作一个正则表达式来替换字符串中任何不需要的字符并将其插入数据库。

这可以通过客户端的
模式
属性来完成,但是HTML5
textarea
元素不支持
模式
属性

另一种方法是使用JavaScript(如您所述)

如果要替换无效字符,可以使用jQuery函数
replace()
,该函数类似于PHP中的
preg\u replace()
,它接受常规表达式

您也可以在服务器端(在PHP中)检查有效性(在将值插入数据库之前)


可以在客户端使用
pattern
属性,但是HTML5
textarea
元素不支持
pattern
属性

另一种方法是使用JavaScript(如您所述)

如果要替换无效字符,可以使用jQuery函数
replace()
,该函数类似于PHP中的
preg\u replace()
,它接受常规表达式

您也可以在服务器端(在PHP中)检查有效性(在将值插入数据库之前)


谢谢,在我看来使用php要好得多,在我看来使用php要好得多
var text = $('textarea').val();
var expres = /[^a-zA-Z0-9\!\@\#\$\%\^\*\|]+/;
if(expres.test(text)){       
     //... some action
} 
preg_replace("/[^A-Za-z0-9 ]/", '', $string);