?? ??? ??
?? ?? ??? ??? ???? ??? ?????? ???? ?? ??? ????. ??? ??? ?? ?? ???? ??? ????? ?? ??? multipart/form-data? ???? ???:
CODE:
<form action="upload.php" method="POST" enctype="multipart/form-data">
?? ??? ???? ??? ?? ??? ??? ??? ????, ??? ??? ???? ????? ?? ??? ?? ??? ?? ??? ? ????.
???? ??? ???? ???? ? ?? ?? ??? ?? ?????.
CODE:
<input type="file" name="attachment" />
? ??? ????? ?? ??? ????. ????? ??????? ?? ??? ??? ???? ??? ???? ?? ???? ?? ??? ?? ????? ????? ?? ??? ? ????. Safari ?????? ???? ??? ????. ???? ??? ??? ??? ?????.
?? ??? ????? ? ? ???? ?? ??? ???? ?? ??? ???? ? ?? ????.
CODE:
<form action="upload.php" method="POST" enctype="multipart/form-data">Please choose a file to upload:
??? ?? ?? MAX_FILE_SIZE? ????? ???? ?? ??? ??? ?????. ?? ??. ?? ????? ? ?? ??? ????? ? ?? ??? ???? ?? ??? ? ??? ???? ?????? ??? ?????. ? ??? ???? ???? ???? ??? ? ????.
PHP ?? ?? ? upload_max_filesize? ???? ? ?? ?? ?? ??? ?????. ??? ??? ?? ???? ?? ?????? post_max_size(POST ??? ?? ?? ??? ??)? ????? ??? ? ????.
?? ???? upload.php? ?? ?? ?? $_FILES:
CODE:
??? ?????. ??>
<?php header('Content-Type: text/plain'); print_r($_FILES); ?>
??? ????? ???? ?? ???.txt?? ??? ?????. ??? ??? ??? ????.
CODE:
Chris Shiflett http://miracleart.cn/
? ??? upload.php ????? ????? ?????? ??? ??? ??? ? ? ????.
CODE:
Array ( [attachment] => Array ( [name] => author.txt [type] => text/plain [tmp_name] => /tmp/phpShfltt [error] => 0 [size] => 36 ) )
??? ?? PHP? ???? ?? ???(super global) $_FILES ??? ???? ????? ?? ???? ?? ??? ??? ?? ????. ????? ??? ??? ??? ?? ?? ??? ???? ?? ?? ?? ????? ?? HTTP ?? ??? ???? ?? ????.
CODE:
POST /upload.php HTTP/1.1 Host: example.org Content-Type: multipart/form-data; boundary=----------12345 Content-Length: 245 ----------12345 Content-Disposition: form-data; name="attachment"; filename="author.txt" Content-Type: text/plain Chris Shiflett http://miracleart.cn/ ----------12345 Content-Disposition: form-data; name="MAX_FILE_SIZE" 1024 ----------12345--
?? ??? ??? ??? ???, ?? ? ?? ?????? ??? ? ??? ???. ???? ??? ??? ????? tmp_name, ?? ? ??? ?? PHP?? ?????.
PHP? ???? ??? ?? ???? ?? ?? ??(? ???? /tmp/phpShfltt)? ???? ??? ???? ??? ?? ???? ???? ?? ?? ?? ??? ???? ????. tmp_name? ???? ???? ??(/etc/passwd? ?? ??? ??)?? ???? ??? ???? ??? ????. ???? tmp_name ?? ??? ? ?? ??? ?? ??? ?? ??? ???? ????? ???. ??? ?? ??? ??? ?? ??? ?? ??? ?? ??? ?? ?? ????. ?? ??? ??? ???? ??? ??? ?? ??? ???? ??? ? ????.
PHP? ??? ??? ??? ???? ?? is_uploaded_file( ) ? ? ?? ??? ??? ?????. move_uploaded_file( ). tmp_name? ??? ???? ???? ???? ?? ?? is_uploaded_file()? ??? ? ????:
CODE:
????
如果你希望只把上傳的文件移到一個(gè)固定位置,你可以使用move_uploaded_file( ):
CODE:
<?php $old_filename = $_FILES['attachment']['tmp_name']; $new_filename = '/path/to/attachment.txt'; if (move_uploaded_file($old_filename, $new_filename)) { /* $old_filename is an uploaded file, and the move was successful. */ } ?>
最后你可以用 filesize( ) 來校驗(yàn)文件的大?。?/span>
CODE:
<?php $filename = $_FILES['attachment']['tmp_name']; if (is_uploaded_file($filename)) { $size = filesize($filename); } ?>
這些安全措施的目的是加上一層額外的安全保護(hù)層。最佳的方法是永遠(yuǎn)盡可能少地去信任。?
以上就是PHP安全-文件上傳攻擊的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(miracleart.cn)!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











tostaycurrentwithphpdevelopments ? bestpractices, followkeynewssources lifephp.netandphpweekly, adgytwithcommunitiesonforumsandconferences, readlingupdated andgrad indewfeatures, andreadorcontributetoopensourceproceprosts.first

phpbecamepupularforwebdevelopmentduetoiteofleneflening, whithhtml, wididepreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsformslikewordpress.itexcelsinhandlingformsubmissions, managingussess, interptisussivers, ?? ???

TOSETTHERIGHTTIMEZONEINPHP, usedate_default_timezone_set () functionattStartOfyourscriptwitHavalidInlifiersuchas'America/new_york'.1.edate_default_timezone_set () beforeanydate/timeFunctions.2

TovalidateUserInputInphp, useBuilt-invalidationFunctions likefilter_var () ? filter_input (), applyRegulArexPessionSforCustomFormatsSuchasUsUserPhonEnumbers, CheckDatatypesFornumericValuesLikeAgeArPrice, setLtrimtsAnspacetReopeTopeTopeTopePeTopePeTopePeTopeTopeTopeTlyout

thephpfunctionserialize () andunserialize () areusedtoconvertcomplexDattoresintostorasandabackagain.1.serialize () c onvertsDatalikeCarraysorObjectSrayStringStringStrainingTainingTypeanDtuctureIncomation.2.

PHP ??? HTML ??? ???? ? ??? ??? ???? .php? ?? ??? ??? ???? ??? ???? ?? ?? ? ? ??? ??????. ?? ??? ???? PHP ??? ???? HTML? ?? ???? ?? ???? ??????. ?? ??? ???? PHP ? HTML? ?? ? ???? ??? ???? ?? ?? ??? ??? ? ????. ?? ???, ?? ?? ?? ?? ?? ? ?? ???? ?? ??? ??? ?? ?? ?? ? ?? ??????? ???????.

???? ???? ?? PHP ??? ???? ??? ??, ???? ??? ?? ??? ?? ??? ????. ??? ??? ???? ? ?????. 1. $ userData ? calculateToTalPrice ()? ?? ??? ??, ?? ? ??? ??? ??????. 2. PSR-12 ?? ?? ?? ???? ?????. 3. ??? ?? ?? ??? ???? MVC ?? Laravel ??? ????? ???? ??????. 4. ?? ??? ??? ??? ?? ???? ??? ?? ???? ????. 5. ? ???? ??? ???? ????? ??? ???? ?? ??, ?? ? ? ??? ??????. 6. ??? ??? ??, ??? ?? ??, ??? ?? ? ?? ??? ????. ??? ??? ?? ??, ?? ??? ? ?? ?? ? ???? ??????.

?, youcanrunsqlqueriesusingphp, andtheprocessinvolveschoingadatabaseexextension, executequeriessafely, andclosingconnectionswhendone.todothis, firstchoosebetween -mysqliorpdo, withpdobeingmoreflectibleblyblyblyblyblyblyblyblyblyblyblyblyblyblyblybledingmuttitatabas
