一尘不染

信任$ _SERVER ['REMOTE_ADDR']是否安全?

php

信任安全$_SERVER['REMOTE_ADDR']吗?是否可以通过更改请求标头或类似的内容来代替?

这样写安全吗?

if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { // my ip address
    $grant_all_admin_rights = true;
}

阅读 319

收藏
2020-05-26

共1个答案

一尘不染

是的,这很安全。它是TCP连接的源IP,不能通过更改HTTP标头代替。

您可能要担心的一种情况是,如果您在反向代理后面,则REMOTE_ADDR将始终是代理服务器的IP,而用户IP将在HTTP标头中提供例如X-Forwarded-For。但是对于正常使用情况,读取REMOTE_ADDR是可以的。

2020-05-26