Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/153.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时事通讯singup反向工程_Php - Fatal编程技术网

PHP时事通讯singup反向工程

PHP时事通讯singup反向工程,php,Php,我有下面的代码,有人在我之前设置了一个时事通讯注册系统 error_reporting(0); set_magic_quotes_runtime (0); if (get_magic_quotes_gpc()) { foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v); foreach($_COOKIE as $k=>$v) $_COOKIE[$k] = stripslashes($v); } $msg =

我有下面的代码,有人在我之前设置了一个时事通讯注册系统

error_reporting(0);
set_magic_quotes_runtime (0);
if (get_magic_quotes_gpc()) {
foreach($_POST as $k=>$v)
    $_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
    $_COOKIE[$k] = stripslashes($v);
}

$msg = $_COOKIE['sb'.$_GET['id']];

$email = trim($_GET['email']);
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);

$headers  = 'From: ' . $email . "\n"; 
$headers .= 'MIME-Version: 1.0' ."\n"; 
$headers .= 'Content-Type: text/plain; charset=iso-8859-1' ."\n"; 
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\n";

if ($Ok && ($msg != '')) {
mail($emailmanager,'Subscribe to Newsletter',$msg,$headers);
Header("Location: $urlok");
} else {
Header("Location: $urlko");
}
通过提交包含以下代码的表单(电子邮件地址、姓名、状态、电话号码等)调用php文件:

error_reporting(0);

set_magic_quotes_runtime (0);
if (get_magic_quotes_gpc()) {
foreach($_POST as $k=>$v)
    $_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
    $_COOKIE[$k] = stripslashes($v);
}

$msg = '';
foreach($_POST as $k=>$v) {
if (strtolower($k) != "submit" && trim($v) != '')
    $msg .= "$k:$v\n";
}

$id = md5($msg);
setcookie("sb$id",$msg,time()+86400,'','',0);

$email = trim($_POST['email']);
它会向填写表单的人发送一封电子邮件,并提供一个链接,供他们单击以验证其电子邮件地址

当他们单击链接时,会调用第一个php文件(顶部),然后将存储的原始表单的详细信息作为消息发送到电子邮件地址,以便电子邮件收件人可以手动将这些详细信息输入数据库(邮件列表)

我正在尝试对其进行反向工程,这样,它就可以将详细信息插入数据库,而不是向邮件列表管理器发送通知电子邮件

我很擅长用php操作数据库,但上面的代码有点让我无法理解

我不确定代码是如何将表单所有输入的详细信息打包到id中,存储到验证电子邮件地址,然后将它们全部放入发送给列表管理器的电子邮件中的,但是,查看代码,有人能找到一种方法再次提取这些输入,以便我可以将它们放入一些变量中,准备好插入我的数据库表了吗

任何帮助都将不胜感激。 先谢谢你。
干杯,艾尔。

当他们点击提交时,表单中的帖子数据正在循环:

foreach($_POST as $k=>$v)
    $_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
    $_COOKIE[$k] = stripslashes($v);
}

然后,当他们单击cookie时,它将作为电子邮件链接的一部分发送以进行处理。您可以从$\u POST数据中获取第一次需要的任何数据—可能将其标记为未验证,或者将其存储在临时表中,然后在返回时对其进行验证。

尽管我现在很想了解更多关于它的信息,并且很想发现是否可以在第二个实例中提取它,你的建议很有道理,对我来说似乎是更实际的方法。非常感谢你的帮助。所有这些该死的树,我知道这附近有一片森林。干杯,艾尔。(顺便说一句,我会投票支持你,但我的名声只有10。)不用担心,答案不多,但很高兴它有所帮助。我会投票支持答案,因为is正确地指出,你不需要做更多的事情,只需要从$u POST(也许还有$u COOKIE)中获取数据。值得指出的是,原始代码引号底部附近的整个$msg逻辑只是将所有$\u POST数据填充到一个字符串中,并使用数据本身的MD5哈希生成的名称将其分配给cookie。这就是“持久性”在页面视图之间的工作方式。