PHP中的$#u文件[';文件';][&';类型';]不';当从Flash AS3上传文件时,此选项不起作用
我使用这段PHP代码将音频(mp3)文件从FlashAS3上传到服务器。当文件从html表单上传时,它工作,但当文件从AS3端上传时,它不工作。当我删除*$\u文件['Filedata']['type']=='audio/mpeg'*条件时,它也适用于AS3。我不知道是什么问题PHP中的$#u文件[';文件';][&';类型';]不';当从Flash AS3上传文件时,此选项不起作用,php,actionscript-3,flash,Php,Actionscript 3,Flash,我使用这段PHP代码将音频(mp3)文件从FlashAS3上传到服务器。当文件从html表单上传时,它工作,但当文件从AS3端上传时,它不工作。当我删除*$\u文件['Filedata']['type']=='audio/mpeg'*条件时,它也适用于AS3。我不知道是什么问题 <?php if($_FILES['Filedata']['size'] < 500000 && $_FILES['Filedata']['type']=='audio/mpeg'){
<?php
if($_FILES['Filedata']['size'] < 500000 && $_FILES['Filedata']['type']=='audio/mpeg'){
$uploads_dir = './upload/';
if( $_FILES['Filedata']['error'] == 0 ){
if( move_uploaded_file( $_FILES['Filedata']['tmp_name'],
$uploads_dir.$_FILES['Filedata']['name'] ) ){
echo 'ok';
exit();
}
}
echo 'error';
exit();
}else
exit();
?>
是否使用html标准作为多部分/表单数据上载文件
如果没有,请参阅添加
echo$_文件['Filedata']['type']代码>和echo$_文件['Filedata']['size']在if
语句上方编码>并查看它的输出。第二个echo
语句如何?61380。问题在于文件类型。为什么从html上载文件时它能正常工作,但从AS3上载文件时它不能正常工作。您应该删除此检查,因为键入$\u FILES
数组是由客户端发送的,因此它不受信任。攻击者可以轻松发送类型为audio/mpeg
的恶意php文件并接管您的服务器。您必须检查服务器端上传的文件,并确保它们以不可执行的形式存储。@dev-null-alliner。感谢您的帮助和建议。我说过从HTML上传时它可以正常工作。我需要从AS3上传。我的意思是你正在为AS3代码添加标题。尝试链接可能会有所帮助。