2017-11-02 3 views
-4

Wenn wir temporäre Dateien mit tmpfile erstellen, können wir in den meisten Fällen den Namen nicht einfach vorhersagen. Der Coverity-Scan beschwert sich auch darüber, dass es sich um eine Schwachstelle handelt. Also gibt es irgendeine Funktion, um temporäre Datei zu erstellen, die nicht leicht erraten werden kann.Erstellen Sie eine temporäre Datei mit unvorhersagbaren Namen

+5

verwenden Was ist die Frage? –

+0

Was Sie tun können, ist eine zufällige Zeichenfolge generieren (bitte suchen Sie im Internet, wie dies zu tun ist) und verwenden Sie diese zufällige Zeichenfolge, um Ihre Datei in 'fopen()' zu benennen. – Gaurav

+0

Ich suchte nach einer ähnlichen Funktion wie tmpfile, natürlich kann ich wählen, fopen zu nennen, aber wenn es schon eine Funktion gibt, warum sollte ich schreiben? –

Antwort

2

Wenn Sie Linux verwenden, dann mkstemp

Oder tmpnam

+1

'mkstemp()' hat auch einige Sicherheitsprobleme, siehe [this link] (http://www.securiteam.com/unixfocus/6H00S0K6AA.html). – Gaurav

+0

Tag ist C nicht C++. –

+0

Bearbeite meine Antwort: ändere std :: tmpnam von stdio.h in tmpnam – svm

Verwandte Themen