PHP 从 PayPal IPN 过滤 POST?

标签 php filter paypal escaping paypal-ipn

我设置了一个 PayPal IPN PHP 文件,它将所有 IPN 发布内容变量分配给变量。此文件仅来自 paypal.com(即没有人应该知道它的 url)。

我的问题是我应该采取必要的步骤来过滤和清理来自 PayPal 的 POST 数据,还是屏蔽我的 IPN 文件名 (IPN_082j3f08jasdf.php) 就足够了?

此外,有人可以确认我的清理代码吗?这是非常基本的。我在通过 POST 或 GET 发送的所有内容上运行它,我的目标是防止任何类型的 MySQL 注入(inject)或任何黑客所做的事情。

function filter($data){
 // changes & to &
 // changes " to "
 // removes \ < >

 $data = trim(htmlentities(strip_tags($data)));

 if(get_magic_quotes_gpc()){
  $data = stripslashes($data);
 }
 $data = mysql_real_escape_string($data);

 return $data;
}

最佳答案

混淆文件名永远都不够——您需要过滤 POST 数据,是的。在您证明之前,假设不是 PayPal 调用脚本。

清理看起来不错——如果你的代码变得很长,我倾向于分两步清理它——开头的 strip_tags 和基本清理,以及在你联系数据库的同时转义 mysql—— - 它使维护 IMO 变得更加容易。

关于PHP 从 PayPal IPN 过滤 POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381293/

相关文章:

java - 如何在Hibernate多对多映射中过滤数据

java - 执行逆 FFT 后,频率滤波图像为黑色

c# - 带有图像按钮 ASP.NET(沙盒帐户)的 PayPal 项目金额格式不正确

php - 如果输入为空并且输入不是现有的 Twitter 帐户,如何停止我的 javascript 运行?

php - 将文本和所见即所得表单提交到数据库和平面文件

php - 在 codeigniter 中删除后从文件夹中删除图像

ruby - 二维数组 - 如何删除重复值但保持子数组分开

php - 为什么我的 UPDATE 查询不起作用? MySQL

callback - PayPal MECL 重定向失败并返回回调

paypal - Payflow Pro 快速结帐。如何跳过第一页?