Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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-创建安全的web应用程序_Php_Security - Fatal编程技术网

Php-创建安全的web应用程序

Php-创建安全的web应用程序,php,security,Php,Security,我知道已经有很多关于这个主题的帖子了,但是现在我对如何制作安全的web应用程序有了很大的困惑 好的,我在做一个注册页面。有一些输入字段,如姓名、出生日期、城市等。 我已经对日期、名称和其他字段进行了验证 但对于国家,我在select标签中有一个从数据库生成的国家下拉列表。 任何人都可以使用inspect元素来更改它的值,所以我怎么知道inspect元素更改了它的值呢 例如,如果用户选择India,我将在php中获得,但如果用户将其更改为India,我将获得hacker的值 因此,我如何检查值是否

我知道已经有很多关于这个主题的帖子了,但是现在我对如何制作安全的web应用程序有了很大的困惑

好的,我在做一个注册页面。有一些输入字段,如姓名、出生日期、城市等。 我已经对日期、名称和其他字段进行了验证

但对于国家,我在select标签中有一个从数据库生成的国家下拉列表。 任何人都可以使用inspect元素来更改它的值,所以我怎么知道inspect元素更改了它的值呢

例如,如果用户选择
India
,我将在php中获得
,但如果用户将其更改为
India
,我将获得
hacker
的值


因此,我如何检查值是否更改,以及创建安全web应用程序的好步骤是什么。

在服务器端,在接收表单提交的页面上,您可以检查收到的响应是否在您的国家/地区列表中,如果不在,则拒绝

if (!in_array($_POST['country'], $countries)) echo "Invalid country";

不过,我有一个更广泛的问题,那就是为什么这是必要的。如果用户可以从列表中自由选择国家,为什么其中一个用户会更改该值?如果您担心SQL注入攻击,应该使用预先准备好的语句。

谢谢您的回复。是的,我正在使用pdo准备的语句,但它无法检测值是否更改,但在这种情况下,in_数组很有用…谢谢