我正在为网站建立一个简单的联系表格.它不连接到数据库,只是发送电子邮件.此代码是否会阻止垃圾邮件发送者使用标头注入?我有没有看到任何漏洞?
//create short variable names
$name= filter_var($_POST['Name'],FILTER_SANITIZE_STRING);
$email= filter_var($_POST['Email'],FILTER_SANITIZE_STRING, FILTER_VALIDATE_EMAIL);
$subject= filter_var($_POST['Subject'],FILTER_SANITIZE_STRING);
$message= filter_var($_POST['Message'],FILTER_SANITIZE_STRING);
//set up some static information
$toaddress = 'blah@localhost.com,blahblah@localhost.com';
$mailcontent = "Customer name: ".$name."\n".
"Customer email: ".$email."\n".
"Subject: ".$subject."\n\n".
$message;
$fromaddress = "From:" . $email;
//invoke mail() function to send mail
mail($toaddress, "Website Contact Form",$mailcontent, $fromaddress);
?>
Run Code Online (Sandbox Code Playgroud) 我已经在Laravel中构建了一个应用程序,并以这种格式提供了雄辩的回复日期:2015-04-17 00:00:00.我正在向JSON发送一个特定的查询,所以我可以用D3创建一个图形,我想我希望ISO8601('1995-12-17T03:24:00')中的日期或其他一些与javascript Date()构造函数一起使用的格式.
有没有办法在Laravel端更改输出到JSON的日期格式?我不确定使用mutator是最好的方法,因为它会影响我的应用程序的其他部分的日期.
或者将JSON输出保持原样会更好,并在将日期格式传递给Date()构造函数之前使用一些javascript字符串方法来操作它?哪种方法更有效?
这是我的模型:
class Issue extends Model {
protected $fillable = [
'client_id',
'do',
'issue_advocate',
'service_number',
'issue_location',
'issue_description',
'level_of_service',
'outcome',
'referral_id',
'file_stale_date',
'date_closed',
'issue_note',
'staff_hours'
];
protected $dates = [
'do',
'date_closed',
'file_stale_date'
];
public function setDoAttribute($value)
{
$this->attributes['do'] = Carbon::createFromFormat('F j, Y', $value)->toDateString();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
$issues = Issue::with('issuetypes')
->select(['do','level_of_service','outcome','id'])
->whereBetween('do',[$lastyear,$now])
->get()->toJson();
Run Code Online (Sandbox Code Playgroud)
而JSON我回来了:
[{"do":"2014-12-23 00:00:00","level_of_service":1,"outcome":1,"id":18995,"issuetypes":[{"id":9,"issuetype":"Non Liberty","pivot":{"issue_id":18995,"issuetype_id":9}}]}]
Run Code Online (Sandbox Code Playgroud) 我收到来自以下代码的打字稿错误。includes()据说该方法需要一个“从不”参数,而它p.id是一个数字。有谁知道如何解决这一问题?
export interface IProductPrice {
id: number;
}
const [productPrices, setProductPrices] = useState<IProductPrice[]>([]);
const [selectedProductIds, setSelectedProductIds] = useState<string[] | number[]>([]);
const deleteSelectedProducts = (): void => {
setProductPrices(productPrices.filter((p): boolean => !selectedProductIds.includes(p.id)));
setSelectedProductIds([]);
};
Run Code Online (Sandbox Code Playgroud)