检查请求是否在PHP中回发

Jie*_*eng 16 php

如何检查请求是否是PHP中的回复,以下是否可以?

if (isset($_POST["submit"]))
Run Code Online (Sandbox Code Playgroud)

其中submitname<input type="submit" />

Bol*_*ock 26

如果您知道并期望在同一页面上有这样的提交按钮,那将会有效.

如果您不立即了解有关请求变量的任何信息,另一种方法是检查请求方法:

if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST')
Run Code Online (Sandbox Code Playgroud)

正如评论中所指出的,要专门检查回发而不仅仅是任何POST请求,您需要确保引用者与处理页面是同一页面.像这样的东西:

if (basename($_SERVER['HTTP_REFERER']) == $_SERVER['SCRIPT_NAME'])
Run Code Online (Sandbox Code Playgroud)