Version 1.0 ()
------------------------------------------------------------------------
+ * Fix another (minor) XSRF for entry manager, thanks to Geoff Johnson
+ (garvinhicking)
+
* Support "Force Feedburner" option to the syndication plugin to
let rss.php only be accessible to feedburner and no clients.
(garvinhicking)
</td>
<td align="right">
<a href="?serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=edit&serendipity[id]=<?php echo $entry['id']; ?>" title="<?php echo EDIT . ' #' . $entry['id']; ?>" class="serendipityIconLink"><img src="<?php echo serendipity_getTemplateFile('admin/img/edit.png'); ?>" alt="<?php echo EDIT; ?>" /><?php echo EDIT ?></a>
- <a href="?serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=delete&serendipity[id]=<?php echo $entry['id']; ?>" title="<?php echo DELETE . ' #' . $entry['id']; ?>" class="serendipityIconLink"><img src="<?php echo serendipity_getTemplateFile('admin/img/delete.png'); ?>" alt="<?php echo DELETE; ?>" /><?php echo DELETE ?></a>
+ <a href="?<?php echo serendipity_setFormToken('url'); ?>&serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=delete&serendipity[id]=<?php echo $entry['id']; ?>" title="<?php echo DELETE . ' #' . $entry['id']; ?>" class="serendipityIconLink"><img src="<?php echo serendipity_getTemplateFile('admin/img/delete.png'); ?>" alt="<?php echo DELETE; ?>" /><?php echo DELETE ?></a>
</td>
</tr>
</table>
break;
case 'doDelete':
- serendipity_deleteEntry($serendipity['GET']['id']);
- printf(RIP_ENTRY, $serendipity['GET']['id']);
+ if (!serendipity_checkFormToken()) {
+ break;
+ }
+ serendipity_deleteEntry((int)$serendipity['GET']['id']);
+ printf(RIP_ENTRY, (int)$serendipity['GET']['id']);
echo '<br />';
case 'editSelect':
break;
case 'delete':
- $newLoc = '?serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=doDelete&serendipity[id]=' . $serendipity['GET']['id'];
- printf(DELETE_SURE, $serendipity['GET']['id']);
+ if (!serendipity_checkFormToken()) {
+ break;
+ }
+ $newLoc = '?' . serendipity_setFormToken('url') . '&serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=doDelete&serendipity[id]=' . (int)$serendipity['GET']['id'];
+ printf(DELETE_SURE, (int)$serendipity['GET']['id']);
?>
<br />
<br />
<div>
- <a href="<?php echo $_SERVER["HTTP_REFERER"]; ?>" class="serendipityPrettyButton"><?php echo NOT_REALLY; ?></a>
+ <a href="<?php echo htmlspecialchars($_SERVER["HTTP_REFERER"]); ?>" class="serendipityPrettyButton"><?php echo NOT_REALLY; ?></a>
<?php echo str_repeat(' ', 10); ?>
<a href="<?php echo $newLoc; ?>" class="serendipityPrettyButton"><?php echo DUMP_IT; ?></a>
</div>